help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] KPI simple function


From: xypron
Subject: Re: [Help-glpk] KPI simple function
Date: Fri, 23 Oct 2009 10:27:56 -0700 (PDT)

Hello Simone,

if the solution of a linear program is unique, it will always be in a vertex
of the 
convex polyeder described by the constraints.

The objective function gives the optimization direction and hence decides
which
vertex of the polygon is the solution.

For a two dimensional problem lets think of an polygon given by the
following vertices:
(0,0) (1,1) (2,1) (3,0)
This corresponds to the following inequalities:
s.t. c1 : x - y >= 0; # (0,0)-(1,1)
s.t. c2 : y     <= 1; # (1,1)-(2,1)
s.t. c3 : x + y <= 3; # (2,1)-(3,0)
s.t. c4 : x     >=0; # (3,0)-(0,0)

If our optimization direction is (1,1) the objective is
maximize obj : x + y;
The solution is vertex (2,1)

If our optimization direction is (-1,1) the objective is
maximize obj: -x + y;
The solution is vertex (1,1);

The complete model is:

var x;
var y;

# uncomment the appropriate objective
#maximize obj :  x + y; # direction (1,1);
maximize obj : -x + y; # direction (-1,1);

s.t. c1 : x - y >= 0; # (0,0)-(1,1)
s.t. c2 : y     <= 1; # (1,1)-(2,1)
s.t. c3 : x + y <= 3; # (2,1)-(3,0)
s.t. c4 : x     >=0; # (3,0)-(0,0)
solve;
printf "x = %6.3f, y = %6.3f\n", x, y;
end;

Best regards

Xypron


Simone Atzeni wrote:
> 
> Hi all,
> 
> I'm looking for two functions that could represent simple KPIs.
> 
> In other world, I would like two MILP, in this way:
> 
> MILP 1:
> 
> MAX J = 0.5 * Z1 + 0.5 * Z2
> 
> Z1 = -AX + C
> Z2 = BX + D
> 
> and
> 
> MILP 2:
> 
> MAX J = 0.32 * Z1 + 0.68 * Z2
> 
> Z1 = -AX + C
> Z2 = BX + D
> 
> Z1 and Z2 are the values of the KPI and they depend on X. The  
> constraints should be equal but the results (the values of Z1 and Z2)  
> should be different changing the coefficients fo the objective  
> function, in this case (0.5 - 0.5) for the MILP1 and (0.32 - 0.68) for  
> the MILP 2.
> 
> I can't find a good function. I need just functions where Z1 and Z2  
> depend on X but changing the coefficients in the objective functions  
> change the values of Z1, Z2 and X.
> 
> MILPs I'm using are the follow:
> 
> MAX J = 0.5 Z.1 + 0.5 Z.2
> 
> Z.1 = 5X (0.196116135138184 Z.1 - 0.98058067569092 U.1 <= 0) (the  
> equations have been normalized)
> Z.2 = -3X + 4 (0.196116135138184 Z.2 + 0.115384615384615 U.1 <=  
> 0.153846153846154)
> 
> and
> 
> MAX J = 0.32 Z.1 + 0.68 Z.2
> 
> Z.1 = 5X
> Z.2 = -3X + 4
> 
> This is the picture of the two functions:
> 
> 
> 
> Both MILPs have the same solution.
> 
> Z.1 = 1
> Z.2 = 0.666795
> X = 0.2
> 
> In this case the weights, (0.5 - 0.5) for the MILP1 and (0.32 - 0.68)  
> for the MILP 2, don't influence the results of the MILP. I want  
> something in a way that the weights influence the results, so that the  
> two MILPs have different result but they should being equal.
> 
> Can someone help me?
> 
> Thanks
> Simone
> 
> 
> _______________________________________________
> Help-glpk mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-glpk
> 
> 

-- 
View this message in context: 
http://www.nabble.com/KPI-simple-function-tp26025826p26030380.html
Sent from the Gnu - GLPK - Help mailing list archive at Nabble.com.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]