help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] complex objective expression


From: Andrew Makhorin
Subject: Re: [Help-glpk] complex objective expression
Date: Fri, 13 Nov 2009 16:49:46 +0300

> I #39;d like to solve a set covering problem, very close to
> described in this article
> (http://www.ibm.com/developerworks/linux/library/l-glpk3/), but I dont
> know if it is possible at all using glpk.

> I have a list of items. Each item have type and values for several
> params: 
> item id      type     param1     param2     param3
> 1               1           1             0               1
> 2               1           2             0               1
> 3               2           2             1               0

> and so on..

> I need to select one item of each type and I created such program
> with first, very simple objective function - maximize sum of all
> parameters for choosen set of items:

> maximize z: sum {i in ITEMS, j in PARAMS} y[i] * params[i,j];

> But in real task objective function should be much more complex. 

> 1. for each parameter should be function like
> param1Fn(param1_value) := c0 + (c1 / (1 + e^(s2 *(param1_value + a3 +
> a4 * param1_value * a5) ) ) );

> 2. objective function should be combination of all params
> functions, like z = ( param1Fn(param1) / const1 ) * param2Fn(param2)
> etc..

> Is it possible to create such objective function using glpk?

Glpk requires the objective to be linear in the variables. If your
objective is non-linear, you could replace it by a piecewise linear
approximation and then model it using binary variables (if non-convex).





reply via email to

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