Lingo带约束的目标函数优化,如何对式子中的参数循环赋值并输出结果?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lingo带约束的目标函数优化,如何对式子中的参数循环赋值并输出结果?相关的知识,希望对你有一定的参考价值。
目前的程序如下:
min=y;
y=p*p*(2*n1*x1+2*t1-2*x1*n1*n1)+2*p*(1-p)*(n2*(x1+x2)+2*t2-(x1+x2)*n2*n2)+(1-p)*(1-p)*(2*n3*x2+2*t3-2*x2*n3*n3);
@free(y);
p*(n1*x1+t1-(@pow(2,n1)-1)*x1)+(1-p)*(n2*x1+t2-(@pow(2,n2)-1)*x1)>=p*(n2*x2+t2-(@pow(2,n2)-1)*x1)+(1-p)*(n3*x2+t3-(@pow(2,n3)-1)*x1);
p*(n2*x2+t2-(@pow(2,n2)-1)*x2)+(1-p)*(n3*x2+t3-(@pow(2,n3)-1)*x2)>=p*(n1*x1+t1-(@pow(2,n1)-1)*x2)+(1-p)*(n2*x1+t2-(@pow(2,n2)-1)*x2);
p*(n1*x1+t1-(@pow(2,n1)-1)*x1)+(1-p)*(n2*x1+t2-(@pow(2,n2)-1)*x1)>=0;
p*(n2*x2+t2-(@pow(2,n2)-1)*x2)+(1-p)*(n3*x2+t3-(@pow(2,n3)-1)*x2)>=0;
(@pow(2,n2)-1)/(@pow(2,2*n2)-@pow(2,n2))<=x2/x1;
x1=84;
x2=35;
p=0.7;
n1>=1;
n2>=1;
n3>=1;
@free(t1);
@free(t2);
@free(t3);
@gin(n1);
@gin(n2);
@gin(n3);
而我希望x1和x2的取值在1到100循环,p在0.1到0.9循环,每组都输出一个目标函数最优解,应该怎么修改程序?
你好,答案如下所示。
没明白你的意思,Lingo它会自动变换x1,x2,p的取值,自动求得最优解
希望你能够详细查看。
如果你有不会的,你可以提问
我有时间就会帮你解答。
希望你好好学习。
每一天都过得充实。
你好,我的意思是x1=1的时候算一个最优解,x1=2的时候也要算一个,这样一直到x1=100,x2也是一样,想请问要怎么修改呢?
追答我记得有个calc段,具体怎么用的忘了,你网上搜一下。好像可以完成遍历
可以共享一下吗?
参考技术A 我也遇到了同样的问题,想把a的取值在0到10循环,请问您是怎么修改的呢Lingo 基本使用
本文来自博客园,作者:A-L-Kun,转载请注明原文链接:https://www.cnblogs.com/liuzhongkun/p/16504677.html
以上是关于Lingo带约束的目标函数优化,如何对式子中的参数循环赋值并输出结果?的主要内容,如果未能解决你的问题,请参考以下文章