一级目录
二级目录
三级目录
一、lindo的代码规范和lingo是不一样的
问题(01规划)
下面的是lindo的代码
min x1+x2+x3+x4+x5+x6+x7+x8+x9!目标函数;
st
x1+x2+x3+x4+x5>=2!约束条件;
x3+x5+x6+x8+x9>=3
x4+x6+x7+x9>=2
2x3-x1-x2<=0
x4-x7<=0
2x5-x1-x2<=0
x6-x7<=0
x8-x5<=0
2x9-x1-x2<=0
end
int 9
下面的是lingo的代码
@bin(x1);
@bin(x2);
@bin(x3);
@bin(x4);
@bin(x5);
@bin(x6);
@bin(x7);
@bin(x8);
@bin(x9);
MIN = 0.7*(x1+x2+x3+x4+x5+x6+x7+x8+x9)-0.3*(5*x1+4*x2+4*x3+3*x4+4*x5+3*x6+2*x7+2*x8+3*x9);!目标函数;
x1+x2+x3+x4+x5>=2;!约束条件;
x3+x5+x6+x8+x9>=3;
x4+x6+x7+x9>=2;
2*x3-x1-x2<=0;
x4-x7<=0;
2*x5-x1-x2<=0;
x6-x7<=0;
x8-x5<=0;
2*x9-x1-x2<=0;
二、lingo和lindo的区别
- lingo和lindo的主体不同。lingo是一个交互式的线性和通用优化求解器,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等¹²³。lindo是一个用于解决二次线性整数规划问题的方便而强大的工具¹²³。
- lingo和lindo的特色不同。lingo的特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快¹²。lindo的主要设计原则是,如果一个用户只是想解决一个简单的问题,就不应该在学习LINDO的基本特性上花费太多的准备成本¹。
- lingo和lindo的读取不同。lingo支持与其他数据文件(如文本文件、Excel电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模最优化问题²。lindo可以对外建文件进行处理,只要这些文件里包含有必要的命令代码和输入数据,处理后就可以生成用于报告目的的文档²。
- 文件名的后缀不同。lingo的后缀为.Ig4,lindo的后缀为.Itx。
注意使用时,不要将lindo的代码写入到lingo中,这会报错。
三、适用条件
基于编程最简单的原则
线性规划LP和二次规划QP应使用LINDO编程
非线性规划则只能使用LINGO编程
线性优化求解程序
- 单纯形算法
- 内点算法(选)
非线性优化求解程序
- 顺序线性规划法(SLP)
- 广义既约梯度法(GRG) (选)
- 多点搜索(Multistart) (选)
非线性规划问题的求解
无约束条件最优解:多元函数求极值;
有约束条件最优解:条件极值,拉格朗日乘数法