早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在lingo中怎样将得出的一个子模型的解固定住.sets:a/1/:x;b/1/:y;endsetssubmodelax:min=@sum(a:x);x(1)>1;endsubmodelsubmodelby:min=@sum(b:y);y(1)>1;endsubmodelcalc:@solve(ax);@solve(by);@ole('D:\a.xlsx','A1','A2')=x,y;endcalc若有如

题目详情
在lingo中怎样将得出的一个子模型的解固定住.
sets:
a/1/:x;
b/1/:y;
endsets
submodel ax:
min=@sum(a:x);
x(1)>1;
endsubmodel
submodel by:
min=@sum(b:y);
y(1)>1;
endsubmodel
calc:
@solve(ax);
@solve(by);
@ole('D:\a.xlsx','A1','A2')=x,y;
endcalc
若有如上一个程序,第一个解为x=1;第二个解为y=1;但lingo在求解每个模型时都会将所有的变量赋值,即最终导入excle表格的结果为x=0,y=1.
我想问下在在lingo中怎样将得出的解x固定住,即在求第二个子模型时不改变x的值.
当然对于这个小问题来说解决方法有很多种(比方说可以将解出的x赋给另外一个变量或分两部导出数据等),但我现在处理的模型是变量接近百万的大型问题,所以这种投机取巧的方法是不可取的.
▼优质解答
答案和解析
@for(a(i):x(i)=x(i));
解完第一个加个这个就行了