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 基本使用

Lingo 语法 一、 概述 1、 简介 LINGO是用来解决优化问题的一个特别好用的软件,可以快速求解线性规划、非线性规划、线性和非线性方程组等等,是数学建模中求优化问题的解不可缺少的工具之一 (1)LINGO 的数学规划模型包含目标函数、决策变量、约束条件三个要素; (2)LINGO 程序中,每

以上是关于Lingo带约束的目标函数优化,如何对式子中的参数循环赋值并输出结果?的主要内容,如果未能解决你的问题,请参考以下文章

LINGO 基础学习笔记

Lingo 基本使用

用lingo导入excel数据生成矩阵并对元素进行累加怎么敲代码

Python数模笔记-模拟退火算法约束条件的处理

Lingo入门使用

优化模型