【发布时间】:2020-08-18 20:36:16
【问题描述】:
我正在尝试仅使用 CPLEX 优化线性规划问题。这个问题的目标是给出每篇文章的最低成本。我不明白为什么 x 没有价值。
我不明白问题出在哪里。截图:
这是我的代码:
{string} N=...;
{string} F=...;
string FO[F]=...;
string FD[F]=...;
{string} P=...;
string PO[P]=...;
string PD[P]=...;
float C[P][F]=...;
float b=...;
dvar boolean x[P][F][N][N];
dexpr float w=sum(p in P)(sum(f in F,i in N,j in N)x[p][f][i][j]*C[p][f]+(1-sum(f in F, i in N,j in N)x[p][f][i][j])*b);
minimize w;
subject to {
contrainte_1:
forall(p in P,f in F,i in N,j in N )
x[p][f][i][j]==1;
constarinte_2:
forall(p in P,f in F, i in N, j in N)
x[p][f][i][PD[p]] == x[p][f][PO[p]][j];
constraint_3:
forall(p in P,f in F )
x[p][f][FD[f]][FO[f]]==0;
constraint_4:
forall(p in P,f in F )
x[p][f][PD[p]][PD[p]]==0;
constraint_7:
forall(p in P,f in F )
x[p][f][PO[p]][PO[p]]==0;
}
main
{
thisOplModel.generate();
cplex.exportModel("programmeopl.lp");
cplex.solve()
}
//data: N={"M1","M2","Paris"};
P={"P1","P2"};
F={"V1","V2","V3"};
FO=["M1","M2","M1"];
FD=["Paris","Paris","Paris"];
PO=["M1","M2"];
PD=["Paris","Paris"];
C=[[2500,3000,2800], [2000,2500,3000]];
b=10000;
【问题讨论】:
标签: mathematical-optimization cplex opl