help-glpk
[Top][All Lists]

## 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
> 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.

```