lingo和matlab求解
这道题怎么做啊,求详细求解过程。matlab不写也可以,lingo怎么算情况1:求a分别等于 0,1,2,3,4, b分别等于2,4,6,7时的最优值,这等价于求解20个非线性最优化问题,可以用下面的程序:model:
sets:
looppt1/1..5/:a;
looppt2/1..4/:b;
endsets
data:
a=0,1,2,3,4;
b=2,4,6,7;
enddata
submodel model1:
min=4*x1^3-p1*x1-2*x2;
x1+x2<4;
2*x1+x2<5;
-x1+p2*x2>2;
endsubmodel
calc:
@for(looppt1(i):
@for(looppt2(j):
p1=a(i);
p2=b(j);
@solve(model1);
);
);
endcalc
end情况2:求a 的值被约束为{0,1,2,3,4},b的值被约束为{2,4,6,7}的最优解,这可以考虑用一个多项式来约束a和b的值,可以试试如下的程序:model:
min=4*x1^3-a*x1-2*x2;
x1+x2<4;
2*x1+x2<5;
-x1+b*x2>2;
a*(a-1)*(a-2)*(a-3)*(a-4)=0;
(b-2)*(b-4)*(b-6)*(b-7)=0;
end在MATLAB中应该也有类似的方法。
你是想求a分别等于 0,1,2,3,4, b分别等于2,4,6,7时的值呢?还是想求a 的值被约束为{0,1,2,3,4},b的值被约束为{2,4,6,7}的值?
用lingo规划 ,只能换值
用matlab,对a,b进行循环就行了
Sassoon 发表于 2015-7-23 15:48 static/image/common/back.gif
用lingo规划 ,只能换值
用matlab,对a,b进行循环就行了
LINGO也有循环语句功能。
liwenhui 发表于 2015-7-23 15:17 static/image/common/back.gif
你是想求a分别等于 0,1,2,3,4, b分别等于2,4,6,7时的值呢?还是想求a 的值被约束为{0,1,2,3,4},b ...
题目就是这么出的,我的理解应该是后者
liwenhui 发表于 2015-7-23 16:30 static/image/common/back.gif
情况1:求a分别等于 0,1,2,3,4, b分别等于2,4,6,7时的最优值,这等价于求解20个非线性最优化问题,可以 ...
我觉得按照前者和后者的理解本质应该是一样的吧
simonsnow 发表于 2015-7-23 16:35 static/image/common/back.gif
我觉得按照前者和后者的理解本质应该是一样的吧
本质上不太一样,
前者其实可以看作一种情景分析,即参数取不同值时的最优解;
后者就是一个简单混合非线性优化问题;
就看你的研究目的是什么。
liwenhui 发表于 2015-7-22 16:44 static/image/common/back.gif
情况1:求a分别等于 0,1,2,3,4, b分别等于2,4,6,7时的最优值,这等价于求解20个非线性最优化问题,可以 ...
不错!
我觉得这样会好一点:
model:
sets:
bs/1..4/: b, b_c;
endsets
data:
b = 2, 4, 6, 7;
enddata
min=4*x1^3-a*x1-2*x2;
x1+x2<4;
2*x1+x2<5;
-x1+b_p*x2>2;
@bnd(0, a, 4); @gin(a);
b_p = @sum(bs(i): b(i)*b_c(i));
@for(bs(i): @bin(b_c(i)));
@sum(bs(i): b_c(i)) = 1;
end
wujianjack2 发表于 2015-7-23 18:50 static/image/common/back.gif
不错!
我觉得这样会好一点:
model:
可能这是见仁见智,你给出的程序中这一段可能结构化不是很强:@bnd(0, a, 4); @gin(a);
b_p = @sum(bs(i): b(i)*b_c(i));
@for(bs(i): @bin(b_c(i)));
@sum(bs(i): b_c(i)) = 1;在a属于{0,1,2,3,4} b属于{2,4,6,7}的时候,你的表述可以实现。但如果 a属于{1,4,5,6,7,10} b属于{4,5,9,15,-2,0}的时候,你的约束条件就会变。同时,你这种约束方法虽可行,但繁琐。
如果用多项式来约束的话结合@prod,可以用更简洁、紧凑,结构化更强。比如,我可以表示为 @prod(set_a:a-pet)=0。不知你是否同意。
页:
[1]
2