我想在OPL中编写一个最小函数。
forall(p in P) sum(n in N)Q6[n][p]==(Max_Rema[p]*Dem[p])
forall(n in N)sum(p in P)Q6[n][p]<=sum(m in M)Q4[m][n];
我希望Q6
等于Max_Rema[p]*Dem[p]
和sum(m in M)Q4[m][n]
的最小值,其中Max_Rema
和Dem[p]
是参数。
该怎么写?
答案 0 :(得分:0)
minl会这样做
int minofs1=minl(1, 2 ,5 ,10, 7 ,8);
float minofs2=minl(2.5 ,1.522e2, -10.2);
dvar int x;
dvar int y;
dvar int z;
subject to
{
x==4;
y==7;
z==minl(x,y);
}
execute
{
writeln("minl(1, 2 ,5 ,10, 7 ,8) gives ",minofs1);
writeln("minll(2.5 ,1.522e2, -10.2) gives ",minofs2);
writeln(z);
}
给予
minl(1, 2 ,5 ,10, 7 ,8) gives 1
minll(2.5 ,1.522e2, -10.2) gives -10.2
4