Я пытаюсь решить проблему оптимизации с помощью CPLEX.
//Variables
int n = ...;
range time =1..n; //n definido em data
dvar float+ c[time] in 0..0.9;
dvar float+ d[time] in 0..0.9;
dvar float+ x[time];
int beta[time]=...;
float pc[time]=...;
float pd[time]=...;
//Expressions
dexpr float objective = sum(t in time) (d[t]*pd[t]-c[t]*pc[t]);
//Model
maximize objective;
subject to {
x[1] == 0.5;
c[1] == 0;
d[1] == 0;
forall(t in time)
const1:
x[t] <= 1;
forall(t in time: t!=1)
const2:
(x[t] == x[t-1] + c[t] - beta[t]*d[t]);
}
Может кто-нибудь сказать мне, как я могу предотвратить одновременное превышение d [t] и c [t] значения 0?
В основном я хочу написать это:
if( d[t] > 0) c[t] = 0;
Спасибо,