int n = 3;
{int} s = asSet(0..n);
int maxTG = 15;
tuple Node {
int xPoint;
int yPoint;
}
{Node} Nodes=...;
tuple Demand {
key string index;
Node StartNode;
Node FinalNode;
}
{Demand} Demands= ...;
int t[Nodes][Nodes] = ...;
int CI = 100;
int CO = 10;
int B=5;
int K=3;
dvar boolean x[Demands];
dvar boolean xs[Demands][Nodes];
dvar boolean xf[Demands][Nodes]; // Final Location of Demand
dvar boolean y[Nodes]; //Facility Location
dvar boolean xsd[Demands][Nodes][Nodes];
dvar boolean xfd[Demands][Nodes][Nodes];
dvar boolean x3[Demands][Nodes][Nodes];
//objective function
maximize sum(d in Demands) x[d];
// subject to
subject to {
forall ( d in Demands ) {
sum(i in Nodes) xs[d][i] <= 1 ;
sum(i in Nodes) xf[d][i] <= 1 ; } //2
forall (d in Demands, i in Nodes) {
xs[d][i] <= y[i] ;
xf[d][i] <= y[i];} //4
forall (d in Demands, i in Nodes) {
xs[d][i] * t[i][d.StartNode] <= maxTG; //5
xf[d][i] * t[i][d.FinalNode] <= maxTG; } //6
forall (d in Demands, i,j in Nodes : i!=j ) {
xs[d][i] * t[i][d.StartNode] <= t[j][d.StartNode] * y[j]; //7
xf[d][i] * t[i][d.FinalNode] <= t[j][d.FinalNode] * y[j]; //8
}
forall (d in Demands) {
x[d] <= sum(i in Nodes) xs[d][i];//9
x[d] <= sum(i in Nodes) xf[d][i]; //10
sum(i in Nodes) xs[d][i] + sum(i in Nodes ) xf[d][i] - 1 <= x[d]; } //11
CI * sum ( i in Nodes) y[i] + CO * sum ( i in Nodes, d in Demands ) ( xs[d][i] + xf[d][i] ) <= B;
forall (i in Nodes)
sum (d in Demands) (xs[d][i] + xf[d][i]) <= K ;
forall (d in Demands, i,j in Nodes) {
x3[d][i][j]<=xs[d][i]; //16
x3[d][i][j]<=xf[d][i]; //17
xs[d][i] + xf[d][i] - 1 <= x3[d][i][j]; } //18
forall (d in Demands, i,j in Nodes : i!=j) {
xsd[d][i][j] <= xs[d][i]; // 19
xsd[d][i][j] <= y[j]; // 20
xs[d][i] + y[j] -1 <= xsd[d][i][j]; //21
xfd[d][i][j] <= xf[d][i];
xfd[d][i][j] <= y[j];
xf[d][i] + y[j] -1 <= xfd[d][i][j]; }
我跑完后#39这与dat文件,这个错误出现,但我无法弄清楚为什么会出现这个错误。有没有人知道这个错误?并导致此代码是我在CPLEX中的第一个代码SO plz给我任何关于此代码的建议。谢谢 PLZ PLZ帮帮我PLZ PLZ任何人帮我PLZ PLZ(该网站希望我添加更多细节......)
答案 0 :(得分:1)
我会添加&#34;}&#34;在.mod的末尾 您尚未关闭要阻止的主题 问候