用Lingo或lindo做,求程序答案

用Lingo或lindo做,求程序答案,第1张

自己看看教程就懂了 lingo每句后面都要加分号 lindo不要加分号 另外lindo 有st lindo乘号不用写 但是能直接做的东西少于lingo的能力

具肆神态体要你自己去看自己去写 光问有什么不同没什么意义

LINDO是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包瞎液括大量概论函数),可供使用者建立规划问题时调用。

LINDO 6.1是求解线性、整数和二个规划问题的多功能工具。LINDO 6.1互动的环境可以让你容易得建立和求解最佳化问题,或者你可以将LINDO的最佳化引擎挂在您己开发的程序内。而另一方面,LINDO也可以用来解决一些复杂的二次线性整数规划方面的实际问题。如在大型的机器上,LINDO被用来解决一些拥有超过50,000各约束条件和200,000万个变量的大规模复杂问题

LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。

运用LINDO软件编写下列程序并运行. 【实验步骤】. (1)在模型窗口中输入一个LP .... 使用Lingo软件编制程序基于产大于销的不平衡模型,即 则运输问题的数学模型为: .... 的自然形式(数学形式)非常相似,几乎没有什么差别,因此几乎不需要专门学习就可以掌握。 ... 在Lindo中有一些可帮助寻找错误的功能,其中之一就是菜单命令“Report ...

结果:x=20;y=20; 利润100

lingo程序:

!设生产甲x台,生产议y台

!目标函数

max=3*x+2*y

!约束条件

!原料

2*x+3*y<=100

!工时

4*x+2*y<=120

!台数

x>=5y>=10

运行结果:

Global optimal solution found.

Objective value: 100.0000

Total solver iterations: 2

Variable Value Reduced Cost

X 20.00000 0.000000

Y 20.00000 0.000000

Row Slack or Surplus Dual Price

1 100.0000 1.000000

2 0.000000 0.2500000

3 0.000000 0.6250000

4 15.00000 0.000000

5 10.00000 0.000000

灵敏度分析结果:

Ranges in which the basis is unchanged:

Objective Coefficient Ranges

Current Allowable Allowable

Variable Coefficient Increase Decrease

X 3.000000 1.000000 1.666667

Y 2.000000 2.500000 0.5000000

Righthand Side Ranges

Row Current Allowable Allowable

RHS Increase Decrease

2 100.0000 60.00000 20.00000

3 120.0000 40.00000 40.00000

4 5.000000 15.00000 INFINITY

5 10.00000 10.00000 INFINITY

结果分析就自己看着分析吧,上面都有了!

前言

第1章引言

§1.1优化模型的基本概念

§1.1.1优化模型的一般形式

§1.1.2可行解与最优解

§1.1.3优化模型的基本类型

§1.2优化问题的建模实例

§1.2.1线性规划模型

§1.2.2二次规划模型

§1.2.3非线裂源性规划模型

§1.2.4整数规划模型

§1.2.5其它优化模型

§1.3LINDO/LINGO 软件简介

§1.3.1LINDO/LINGO软件的基本功能

§1.3.2LINDO/LINGO软件的求解过程

§1.3.3建立LINDO/LINGO优化模型需要注意的几个基本问题

习题一

第2章LINDO软件的基本使用方法

§2.1LINDO入门

§2.1.1LINDO软件的安装过程

§2.1.2编写一个简单的LINDO程序

§2.1.3一些注意事项

§2.2敏感性分析

§2.3整数线性规划的求解

§2.4* 二次规划的求解

§2.5LINDO的主要菜单命令

§2.6* LINDO命令窗口

§2.7* LINDO命令脚本文件

§2.8* 附录:MPS格式数据文件

习题二

第3章LINGO软件的基本使用方法

§3.1LINGO入门

§3.1.1LINGO软件的安装过程和主要特色

§3.1.2在LINGO中使用LINDO模型

§3.1.3编写一个简单的LINGO程序

§3.2在LINGO中使用集合

§3.2.1集合的基本用法和LINGO模型的基本要素

§3.2.2基本集合与派生集合

§3.2.3稠密集合与稀疏集合

§3.2.4集合的使用小结

§3.3运算符和函数

§3.3.1运算符及其优先级

§3.3.2基本的数学函数

§3.3.3集合循环函数

§3.3.4集合 *** 作函数

§3.3.5变量定界函数

§3.3.6财务会计函数

§3.3.7概率论中的相关函数

§3.3.8文件输入输出函数

§3.3.9结果报告函数

§3.3.10其他函数

§3.4LINGO的主要菜单命令

§3.4.1文件(File)主菜单

§3.4.2编辑(Edit)主菜单

§3.4.3LINGO系统(LINGO)主菜单

§3.5LINGO命令窗口

习题三

第4章* LINGO软件与外部文件的接口

§4.1通过WINDOWS剪贴板传递数据

§4.1.1粘贴命令的用法

§4.1.2特殊粘贴命令的用法

§4.2通过文本文件传递数据

§4.2.1通过文本文件输入数据

§4.2.2通过文本文件输出数据

§4.3通过电子表格文件传递数据

§4.3.1在LINGO中使用电子表格文件的数据

§4.3.2将LINGO模型嵌入、链接到电子表格文件中

§4.4LINGO命令脚本文件

§4.5附录:LINGO出错信息

习题四

第5章生产与服务运作管理中的优化问题

5.1生产与销售计划问题

§5.1.1问题实例

§5.1.2建立模型

§5.1.3求解模型

§5.2有瓶颈设备的多级生产计划问题

§5.2.1问题实例

§5.2.2建立模型

§5.2.3求解模型

§5.3下料问题

§5.3.1钢管下料问题

§5.3.2易拉罐下料问题

§5.4面试顺序与消防车调度问题

§5.4.1面试顺序问题

§5.4.2消防车调度问题

§5.5飞机定位和飞行计划问题

§5.5.1飞机的精确定位问题

§5.5.2飞行计划问题

习题五

第六章 经济与金融中的优化问题

§6.1 经济均衡问题及其应用

§6.1.1单一生产商、单一消费者的情形

§6.1.2两个生产商、两个消费者的情形

§6.1.3拍卖与投标问题

§6.1.4交通流均衡问题

§6.2 投资组合问题

§6.2.1基本的投资组合模型

§6.2.2存在无风险资产时的投资组合模型

§6.2.3考虑交易成本的投资组合模型

§6.2.4利用股票指数简化投资组合模型

6.2.5其他目标下的投资组合模型

§6.3 市场营销问题

§6.3.1新产品的市场预测

§6.3.2产品属性的效用函数

§6.3.3机票的销售策略

习题六

第十二章数学建模竞赛中的部分优化问题

§12.1 一个飞行管理问题

§12.1.1问题描述

§12.1.2模型1及求解

§12.1.3模型2及求解

§12.2钢管订购和运输

§12.2.1问题描述

§12.2.2运费矩阵的计算模型

§12.2.3运输量计算模型及求解

§12.3露天矿生产的车辆安排

§12.3.1问题描述

§12.3.2运输计划模型及求解

§12.4 空洞探测

§12.4.1问题描述

§12.4.2优化模型及求解

习题十二

你去这个网页看看吧http:// f a c u l ty . m a t h .tsi n g hu a.ed u.cn/~j lin do/lindo-con tents.h tm

思路:

第一步,求出切割模式,8m长能分成多少种有效切割方式L?其判断依据就是:每种切割方式的余料要小于0.35m,否则还可以切割出一块小的有效用料来。

第二步,假设第(i,j,k,s)种切割方法L(i,j,k,s),切割了x(i,j,k,s)根角钢,显然这种切割模式下的得到1.5m的料总数为x(i,j,k,s)*(i-1)根,此数应当大于200。注意:为了lingo程序表达的需要,在这里L(i,j,k,s)切割模式下1.5m的角钢为i-1根。

第三步,将所有的各种切割漏改丛方法L下的x加和起来,则其和为优化目标,使之最小,求解之。

程序代码:

model:

sets:

aa/1..6/:an!某种切割模式下,8m的角钢切完后,1.5m的料有an根(an=0~5共6种可能取值)

bb/1..6/:bn!某种切割模式下,8m的角钢切完后,1.45m的料有bn根(bn=0~5共6种可能取值)

cc/1..7/:cn!某种切割模歼桥式下,8m的角钢切完后,1.3m的料有cn根(cn=0~6共7种可能取值)

dd/1..23/:dn!某种返樱切割模式下,8m的角钢切完后,0.35m的料有dn根(dn=0~22共23种可能取值)

LL(aa,bb,cc,dd):L,x

!L(i,j,k,s)代表这样一种切割模式:一根8m的角钢切完后,1.5m料切出i-1根,1.45m料切出j-1根,1.3m和0.35m类似,如果切割总长不超出8m,且余料不超出0.35m,则为有效切割,记L(i,j,k,s)=1,否则这种切割模式不能实现或者无效,记L(i,j,k,s)=0

!这里的x(i,j,k,s)代表第L(i,j,k,s)种切割模式下切割8m角钢的数目

endsets

min=@sum(LL:x)

@for(aa(i):an(i)=i-1)

@for(bb(j):bn(j)=j-1)

@for(cc(k):cn(k)=k-1)

@for(dd(s):dn(s)=s-1)

@for(aa(i):@for(bb(j):@for(cc(k):@for(dd(s):L(i,j,k,s)=@if(((an(i)*1.5+bn(j)*1.45+cn(k)*1.3+dn(s)*0.35)#gt#7.65)#and#((an(i)*1.5+bn(j)*1.45+cn(k)*1.3+dn(s)*0.35)#le#8),1,0)))))

n=@sum(LL:L)

@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*an(i))>200

@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*bn(j))>200

@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*cn(k))>600

@sum(LL(i,j,k,s):L(i,j,k,s)*x(i,j,k,s)*dn(s))>1200

@for(LL:@gin(x))

end

运行结果为:有效切割模式59种,最小需切割224根角钢。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8283080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存