[Top][All Lists]
[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).