学习LINGO语言课件全解

合集下载

lingo入门教程(共55张)

lingo入门教程(共55张)

3 3
A2
8 67
A3 4
7
B2
8 9
5 C2 6
T
第18页,共55页。
分析
(fēnxī)
6 A1 5 6
B1 6 C1
S
3 3
A2
8 67
A3 4
7
B2
8 9
5 C2 6
T
假设从S到T的最优行驶路线 P 经过城市C1, 则P中从S到C1的子路也一定 是从S到C1的最优行驶路线; 假设 P 经过城市C2, 则P中从S到C2的子路也一定是从S到C2的最优行驶路线. 因此, 为得到从S到T的最优行驶路线, 只需要先求出从S到Ck(k=1,2)的最 优行驶路线, 就可以方便地得到从S到T的最优行驶路线.
第19页,共55页。
分析
(fēnxī)
6 A1 5 6
B1 6 C1
S
3 3
A2
8 67
A3 4
7
B2
8 9
5 C2 6
T
此例中可把从S到T的行驶过程分成4个阶段,即 S→Ai (i=1,2 或3), Ai → Bj(j=1或2), Bj → Ck(k=1或2), Ck → T. 记d(Y,X)为城 市Y与城市X之间的直接距离(若这两个城市之间没有道路直 接相连,则可以认为直接距离为∞),用L(X)表示城市S到城市
L B2 minL A1 5, L A2 6, L A3 4 7 L A3 4; L C1 minL B1 6, L B2 8 15 L B2 8;
略2去),最小运量136.2275(吨公里)。
1
3
5
0
0
1
2
3
4
5
6

LINGO基本语法和编程ppt课件

LINGO基本语法和编程ppt课件

f对
x, j
y j
是非线性的,
所以在新建料场时是NLP模型。先解NLP模型,而把现有临时料场的位置作
为初始解告诉LINGO。
本例中集合的概念
利用集合的概念,可以定义需求点DEMAND和供应点 SUPPLY两个集合,分别有6个和2个元素(下标)。但决 策变量(运送量) 与c ij 集合DEMAND和集合SUPPLY都 有关系的。该如何定义这样的属性?
在实际问题中,输入的数据通常是原始数据,不一定 能在模型中直接使用,可以在这个段对这些原始数据进 行一定的“预处理”,得到模型中真正需要的数据。
例如
Calc: TotalWeight = @sum(Box(i): zl(i)*js(i)); EndCalc
注意计算段只能对常量进行计算,不能对需要 通过解优化程序求解出来的变量进行计算。
1 2 3 456
a 1.25 8.75 0.5 5.75 3 7.25
b 1.25 0.75 4.75 5 6.5 7.75
d3
5
4
7 6 11
建立模型
记工地的位置为(a ,b ) ,水泥日用量为d,i1, 6;料场
ii
i
位置为(
x
j
,
y
j
)
,日储量为
e j
,
j 1,2
;从料场
j 向工地i

运送量为c ij 。
集合的基本用法
例四这理属个些解性SA季需(LIIL度求ANCtG的必tOrO帆须i公b建u船按司t模e需时需)语求满要的言量足决概最分。定念重别每下。要是个四的季4个0是度条季理正,度解常6的0集的条帆合生,船(产7生5S能条产et)力,量及2是。5其条4下0, 条帆船,每条船的生产费用为400美元。如果加班生产, 每条船的生产费用为450美元。每个季度末,每条船的 库存费用为20美元。假定生产提前期为0,初始库存为 10条船。如何安排生产可使总费用最小?

【精品】LINGO快速入门PPT课件

【精品】LINGO快速入门PPT课件

• vendors/v1..v8/: demand;
• links(warehouses,vendors): cost, volume;
• Endsets
• min=@sum(links: cost*volume); !目标函数;
• @for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J)); !需求约束;
为 flase • #ge# 若左边的运算符大于或等于右边的运算符,则为 true ;
否则为 flase • #lt# 若左边的运算符严格小于右边的运算符,则为 true ;否则
为 flase • #le# 若左边的运算符小于或等于右边的运算符,则为 true ;否
则为 flase • #and# 仅当两个参数都为 true 时,结果为 true ;否则为 flase
• @smax(x1,x2,...,xn)返回 x1 , x2 , … , xn 中的 最大值
• @smin(x1,x2,...,xn)返回 x1 , x2 , … , xn 中的最 小值
例 给定一个直角三角形,求包含该三角形的最小正方形。
解:如图所示。ABCDDAEabx
求最小的正方形就相当于求如下的最优化问题:

49538582

52197433

76739271

23957265

5 5 2 2 8 1 4 3;
• enddata
• end
模型的集部分
• 例2.2
• !集部分;
• sets:
• students:sex,age;
• endsets
• !数据部分;

lingo语言(课件PPT)

lingo语言(课件PPT)
如x/y <5 改为x<5y ❖ 合理设定变量上下界,尽可能给出变量初始值 ❖ 模型中使用的参数数量级要适当
如小于103
Module 00-4
二、Lingo集合
例1 选址问题
❖某公司有6个建筑工地,位置坐标为(ai,bi) (单位:公里),水
泥日用量di (单位:吨)
i
123456
a
2 8.75 0.5 5.75 3 7.25
目标
min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));
@for(demand(i):@sum(supply(j):c(i,j))=d(i););
需求约束
@for(supply(i):@sum(demand(j):c(j,i))<=e(i););
元素列表法——枚举 元素过滤法——利用过滤条件 setname(parent_set_list) [|filtrate_condition] [:attribute_list];
Module 00-10
例1 ❖ 建立
下标集合
sets:
demand/1..6/:a,b,d;
需求
supply/1..2/:x,y,e;
❖ 基于其它集合而派生出来的二维或多维集合 ❖定义格式 ——集合名 父集合列表 元素列表 属性列表
setname(parent_set_list) [/member_list/] [: attribute_list]; ❖ 元素列表缺省
所有组合——稠密集合、或数据段列表赋值 ❖ 元素列表——稀疏集合
b
3 0.75 4.75 5
6.5 7.75

LINGO的基本用法PPT课件

LINGO的基本用法PPT课件

返回值
返回X的绝对值 返回X的正弦值 返回X的余弦值 返回X的正切值 返回X的自然对数值 返回eX的值(e为自然常数,e=2.7182818……) 返回X的符号值 返回这一系列数中的最大值 返回这一系列数中的最小值 返回X的整数部分(向最靠近0的方向取整) 返回X的gamma函数的自然对数值 返回X除以Y的余数(X和Y都是整数) 返回指数XY的值(该函数可用X^Y代替) 返回X的平方值(该函数可用X^2代替) 返回X的正的平方根(该函数可用X^(1/2)代替)
第1页/共35页
建模时需要注意的几个基本问题: (1) 尽量使用实数优化模型,减少整数约束和整数变量的
个数; (2) 尽量使用光滑优化模型,减少非光滑约束的个数;
如:尽量少地使用绝对值函数、符号函数、多个变量求最 大(或最小)值、四舍五入函数、取整函数等. (3) 尽量使用线性优化模型,减少非线性约束和非线性变 量的个数(如x/y < 5改为x < 5y) ; (4) 合理设定变量的上下界,尽可能给出变量的初始值; (5) 模型中使用的单位的数量级要适当(如小于103);
68
min z
cij xij ;
i1 j 1
8
xij ai , i 1, 2, , 6;
j 1
6
xij d j , j 1, 2, ,8;
i 1
xij 0,,i 1, 2, , 6, j 1, 2, ,8;
第15页/共35页
1. 集合定义部分 集合是一组相关对象构成的组合 集合分为初始(基本\原始)集合和衍生(派生)集合 集合在使用之前需要预先给出定义, 初始集合的定义三要素: 集合的名称, 集合的元素, 集合的属性(可视为与该集合有关 的变量或常量). 初始集合的定义格式: 集合的名称/集合的元素/:集合的属性;

Lingo教程PPT优秀课件

Lingo教程PPT优秀课件

演示(试用)版、学生版、高级版、超级版、工业版、扩展版…
求解问题规模和选件不同
2
LINDO和LINGO软件能求解的优化模型
连续优化
优化模型 整数规划(IP)
线性规划 二次规划 非线性规划
(LP)
(QP)
(NLP)
LINDO
LINGO
3
LINDO/LINGO软件的求解过程
1. 确定常数 2. 识别类型
5
需要掌握的几个重要方面
LINGO: 掌握集合(SETS)的应用; 正确阅读求解报告; 正确理解求解状态窗口; 学会设置基本的求解选项(OPTIONS) ; 掌握与外部文件的基本接口方法
6
文件类型描述
• .lg4 LINGO格式的模型文件 二进制格式文件 • .lng 文本格式的模型文件(不保存字体、颜色、
11
例1.1 如何在LINGO中求解如下的LP问题:
min 2 x 1 3 x 2 s .t.
x 1 x 2 350
x1
100
2 x 1 x 2 600
x1, x2 0
在模型窗口中输入如下代码: min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600;
LINGO软件简介
• LINGO模型的优点
• 提供了灵活的编程语言(矩阵生成器)
• LINGO模型的构成:5个段
• 目标与约束段 • 集合段(SETS ENDSETS) • 数据段(DATA ENDDATA) • 初始段(INIT ENDINIT) • 计算段(CALC ENDCALC) - LINGO9.0
嵌入对象) • .ldt LINGO数据文件 • .ltf LINGO命令脚本文件 • .lgr LINGO报告文件 • .ltx LINDO格式的模型文件 • .mps 数学规划系统格式的模型文件

学习LINGO语言课件全解共151页文档

学习LINGO语言课件全解共151页文档

• Variable Value Reduced Cost
• x1 1.272727 0.000000
• x2 1.636364 0.000000
• Row Slack or Surplus Dual Price
• 1 7.454545
1.000000
• 2 0.000000
0.9090909E-01
显然,如果在最优解处约束正好取等号 (紧约束),该值才可能不是0;对于非紧 约束对该值必为0,表示对应约束中不等式 右端项的微小扰动不影响目标函数。
2020/5/31
*
§2 Lingo的基本用法注意事项
2020/5/31
*
1)每一个模型都以 model:
开始, 又以 end
结束,也可省略此结构;
*
2)LINGO开始编译模型,如有语法错 误将返回一个错误的消息并指明错误 出现的位置;如果通过编译, LINGO 将激活 Solver运算器 寻求模型的最 优解;
2020/5/31
*
3)首先出现solver status 窗口,其 作用是监控solver的进展和显示模 型的维数等信息;
2020/5/31
*
Solver Status 窗口
2020/5/31
*
4)计算完成后出现Solution Report 窗口显示模型解的详细信息;
2020/5/31
*
Solution Report 窗口
• Global optimal solution found at iteration: 2
• Objective value: 7.454545
Outline 一. 优化模型与优化软件简介 二. LINGO软件的基本使用方法 三. LINGO程序流程控制和子模型

《Lingo软件学习》PPT课件

《Lingo软件学习》PPT课件


xij
0或1

j 1, 2, , n, i j i=1,2, ,n, j i i, j 1, 2, n
三、职员时序安排模型
一项工作一周7天都需要有人(比如护士工作),每天 (周一至周日)所需的最少职员数为20、16、13、16、19、 14和12,并要求每个职员一周连续工作5天,试求每周所 需最少职员数,并给出安排。注意这里我们考虑稳定后的 情况。
LINGO中的函数有基本元算符,数学函数,金融函数,变 量限定函数等,全部函数请参照Edit|paste funtion。
算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符:
^ 乘方 ﹡ 乘
/除
﹢加
﹣减
LINGO唯一的一元算术运算符是取反函数“﹣”
LINGO具有9种逻辑运算符: #not# 否定该操作数的逻辑值,#not#是一个一元运算符 #eq# 若两个运算数相等,则为true;否则为flase #ne# 若两个运算符不相等,则为true;否则为flase #gt# 若左边的运算符严格大于右边的运算符,则为true;否则为flase #ge# 若左边的运算符大于或等于右边的运算符,则为true;否则为flase #lt# 若左边的运算符严格小于右边的运算符,则为true;否则为flase #le# 若左边的运算符小于或等于右边的运算符,则为true;否则为flase #and# 仅当两个参数都为true时,结果为true;否则为flase #or# 仅当两个参数都为false时,结果为false;否则为true
68
min z
cij xij
i1 j 1
8

xij ai
i 1, 2, , 6

LINGO教程(图文版)

LINGO教程(图文版)

LINGO 是用来求解线性和非线性优化问题的简易工具。

LINGO 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO 高效的求解器可快速求解并分析结果。

§1 LINGO 快速入门1.1 应用实例当你在windows 下开始运行LINGO 系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。

在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。

下面举两个例子。

例1.1 如何在LINGO 中求解如下的LP 问题:0,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码:min =2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600;然后点击工具条上的按钮 即可。

例1.2使用LINGO软件计算6个发点8个收点的最小费用运输问题。

产销单位使用LINGO软件,编制程序如下:model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/: capacity;v endors/v1..v8/: demand;links(warehouses,vendors): cost, volume;endsets!目标函数;min=@sum(links: cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I): volume(I, J))=demand(J));!产量约束;@for(warehouses(I):@sum(vendors(J): volume(I, J))<=capacity(I));!这里是数据;data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost= 6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataend然后点击工具条上的按钮即可。

学习LINGO语言课件-精选文档152页

学习LINGO语言课件-精选文档152页

§3 LINGO的建模语言
19.10.2019 19.10.2019 14:48
以运输实例逐步分析
6个仓库向8个小贩供应同一种货物, 如何运,总运输费用最小? 注:每个仓库可以向每个小贩供货 ,一共48个可能运货路线。 仓库货存量、小贩需求量、每条路线
的单位运输费用三个表如下:
19.10.2019 19.10.2019 14:48
DUAL PRICES表示当对应约束有微 小变动时,目标函数的变化率,即约束条 件右端的常数项每增加一个单位,目标函 数相应获得的改变量。
显然,如果在最优解处约束正好取等号 (紧约束),该值才可能不是0;对于非紧 约束对该值必为0,表示对应约束中不等式 右端项的微小扰动不影响目标函数。
19.10.2019 19.10.2019 14:48
8) 变量和数字放在约束条件的左、 右端均可; 但最好变量在左,数字在右。
9) Lingo 变量默认域为非负实数, 可以改变默认域.
19.10.2019 19.10.2019 14:48
10)行名 [name] 例: [Objective]max=2*x+3*y; [Con1] 4*x+3*y<10; [Con2] 3*x+5*y<12; 线性规划(行名).lg4 默认为[1],[2],[3]
1、尽量使用实数优化,减少整数约 束和整数变量
2、尽量使用光滑优化,减少非光滑 约束的个数
如:尽量少使用绝对值、符号函数、 多个变量求最大/最小值、四舍五入、 取整函数等
19.10.2019 19.10.2019 14:48
建模时需要注意的几个基本问题
3、尽量使用线性模型,减少非线性 约束和非线性变量的个数 (如x/y <5 改为x<5y)

LINGO课件

LINGO课件

LINGO模型 LINGO模型 — 例:选址问题
某公司有6个建筑工地,位置坐标为 单位: 某公司有 个建筑工地,位置坐标为(ai, bi) (单位:公里 个建筑工地 单位 公里), 单位: 水泥日用量d 单位 水泥日用量 i (单位:吨)
i a b d 1 1 .2 5 1 .2 5 3 2 8 .7 5 0 .7 5 5 3 0 .5 4 .7 5 4 4 5 .7 5 5 7 5 3 6 .5 6 6 7 .2 5 7 .7 5 11
集是一群相联系的对象,这些对象也称为集的成员。 集是一群相联系的对象,这些对象也称为集的成员。一个集可能 是一系列产品、卡车或雇员。 是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之 有关联的特征,我们把这些特征称为属性。属性值可以预先给定, 有关联的特征,我们把这些特征称为属性。属性值可以预先给定, 也可以是未知的,有待于LINGO求解。例如,产品集中的每个产 求解。 也可以是未知的,有待于 求解 例如, 品可以有一个价格属性; 品可以有一个价格属性;雇员集中的每位雇员可以有一个薪水属 也可以有一个生日属性等等。 性,也可以有一个生日属性等等。
•对实际问题建模的时候,总会遇到一群或多群相联系 对实际问题建模的时候, 对实际问题建模的时候 的对象,比如工厂、消费者群体、交通工具和雇工等等。 的对象,比如工厂、消费者群体、交通工具和雇工等等。 LINGO允许把这些相联系的对象聚合成集(sets)。 允许把这些相联系的对象聚合成集( 允许把这些相联系的对象聚合成集 )。
LINGO优化软件 优化软件 学习课件
LINGO软件简介 软件简介
LINGO模型的优点 模型的优点
•包含了 包含了LINDO的全部功能 包含了 的全部功能 •提供了灵活的编程语言(矩阵生成器) 提供了灵活的编程语言( 提供了灵活的编程语言 矩阵生成器)

培训教案——LINGOppt课件

培训教案——LINGOppt课件
• “lingo”:
——solution:主要是考察结果,可以 指定某一行或者某一个项目来考察 结果,有文字形式也有图表形式。
——range:主要是用于灵敏度分析, 在这里要先更改默认设置,将price 改为price and range,然后才能运 行range。
——generate:可以产生相对应的程序。
隐式成员列表格式 1..n StringM..stringN
DayM..DayN MonthM..MonthN
示例 1..5 Card2..Card10
Mon..Fri Oct..Jan
所产生的集成员 1,2,3,4,5 Card2,Card3,Card4…Card 10 Mon,Tue,Wen,Thu,Fri
在编程中对LINGO的调用
最新版整理ppt
2
LINGO简介
• LINGO是一种专门用于求解数学规划问题 的软件包。由于LINGO执行速度快,易于 方便地输入、求解和分析数学规划问题, 因此在教学、科研和工业界得到广泛应用。
• LINGO主要用于求解线性规划、非线性规 划、二次规划和整数规划等问题,也可以 用于求解一些线性和非线性方程组及代数 方程求根等。
• 集部分是LINGO模型的一个可选部分。在LINGO 模型中使用集之前,必须在集部分事先定义。集 部分以关键字“sets:”开始,以“endsets”结束。 一个模型可以没有集部分,或有一个简单的集部 分,或有多个集部分。一个集部分可以放置于模 型的任何地方,但是一个集及其属性在模型约束 中被引用之前必须被定义。
——debug:用于调试程序,只能在程 序出错时才能用。
•windows:
——command window:生成命令窗口, 用于在非windows系统下以命令的方式编 写和运行程序。

学习LINGO语言课件

学习LINGO语言课件

280时2109年2分8月 1071秒22日0星年期8三月12日8时19分
第三步:求解模型
1)选择菜单 LINGO|Solve
或者按工具栏的
280时2109年2分8月 1071秒22日0星年期8三月12日8时19分
2)LINGO开始编译模型,如有语法错 误将返回一个错误的消息并指明错误 出现的位置;如果通过编译, LINGO 将激活 Solver运算器 寻求模型的最 优解;
决策变量
x1≥0
x2≥0
280时2109年2分8月 1071秒22日0星年期8三月12日8时19分
目标函数
约 束 条 件
第一步:启动Lingo
屏幕显示如下: 标记LINGO的外窗口是主框架
窗口,主框架窗口的上面包含所 有的命令菜单和命令工具栏;
标记LINGO MODEL-LINGO1的子 窗口是一个新的、空白的模型窗 口。
• 3 0.000000
0.5454545
280时2109年2分8月 1071秒22日0星年期8三月12日8时19分
Reduced Cost:
在max模型中: 相应变量的 reduced cost值表
示当该变量每增加一个单位时目标 函数减少的量。 本例中此值均为0
280时2109年2分8月 1071秒22日0星年期8三月12日8时19分
280时2109年2分8月 1081秒22日0星年期8三月12日8时19分
数学模型可表示如下:
68
min (cost _ i _ j *volum e _ i _ j)
i 1 j1
6
volum e _ i _ j dem and _ j ( j 1,2,,8)
i 1
st.

lingo入门-PPT课件

lingo入门-PPT课件
x11+x12+x13+x14=16; x21+x22+x23+x24=10; x31+x32+x33+x34=22; x11+x21+x31=8; x12+x22+x32=14; x13+x23+x33=12; x14+x24+x34=14;
Global optimal solution found at iteration:
y 1 ,y 1 ',y 2,y 2',y 3,y 3' 0
(3)min max(x1,x2,x3);
s.t.xx11
x2 x3 10, 3x2 2x3 12.
最高分越低越好!!
解 令 yma1x ,x2(,xx3),则此约束的充分条件是
yx 1 ,yx 2,yx 3 .
2、Lindo/Lingo软件内部有以下4个求解程序用于求解 不同类型的优化模型
(1)直接求解器(Direct Solver);
(2)线性优化求解程序(Linear Solver);
(3)非线性优化求解程序(Nonlinear Solver);
(4)分支定界管理程序(Branch and Bound Manager)。
6
Objective value:
244.0000
Variable X11 X12 X13 X14 X21 X22 X23 X24 X31 X32 X33 X34
Value 4.000000 0.000000 12.00000 0.000000 4.000000 0.000000 0.000000 6.000000 0.000000 14.00000 0.000000 8.000000
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Reduced Cost:
在max模型中: 相应变量的 reduced cost值表
示当该变量每增加一个单位时目标 函数减少的量。 本例中此值均为0
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
Reduced Cost:
Reduced Cost 值列出最优单纯形表中判别 数所在行的变量的系数,表示当变量有微 小变动时,目标函数的变化率。其中基变 量的reduced cost值应为0, 对于非基变量 Xj, 相应的reduced cost值表示当某个变 量Xj 增加一个单位时目标函数减少的量 ( max型问题)。本例中此值均为0。
4) LINGO的每一语句以
;
结束; 5) 注释
以 ! 开始, 以 ; 结束;
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
6) 变量名: .不区分大小写 .由字母数字下划线组成 .第一个字符必须是字母 .变量名最长为32个字符
20六2201年00时22月3902分9年日45星秒2期月29日10时40分

Row
Slack or Surplus Dual Price

OBJECTIVE 7.454545
1.000000

CON1 0.000000
0.9090909E-01

CON2 0.000000
0.5454545
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
§3 LINGO的建模语言
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
Solution Report 窗口
• Global optimal solution found at iteration: 2
• Objective value: 7.454545
• Variable Value Reduced Cost
仓库货存量:capacity
仓库号 w1 w2 w3 w4 w5 w6
货存量 60 55 51 43 41 52
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
小贩需求量:demand
小贩代号 v1 v2 v3 v4 v5 v6 v7 v8
货物需求量 35 37 22 32 41 32 43 38
7) LINGO编辑器用 蓝色显示LINGO关键字 绿色显示注释 其他文本用黑色 匹配的括号用红色高亮度显示
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
8) 变量和数字放在约束条件的左、 右端均可; 但最好变量在左,数字在右。
9) Lingo 变量默认域为非负实数, 可以改变默认域.
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
以运输实例逐步分析
6个仓库向8个小贩供应同一种货物, 如何运,总运输费用最小? 注:每个仓库可以向每个小贩供货 ,一共48个可能运货路线。 仓库货存量、小贩需求量、每条路线
的单位运输费用三个表如下:
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
w6 5 5 2 2 8 1 4 3
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
• demand_j 表示第j个小贩
的需求量
• capacity_i 表示第i个仓库的 已
库存量

• cost_i_j 表示从第i个仓

库到第j个小贩的单位运输费用 量
• volume_i_j 表示从第i个仓库到 第j个小贩的运输量
DUAL PRICES:对偶价格或影子价格
DUAL PRICES表示当对应约束有微 小变动时,目标函数的变化率,即约束条 件右端的常数项每增加一个单位,目标函 数相应获得的改变量。
显然,如果在最优解处约束正好取等号 (紧约束),该值才可能不是0;对于非紧 约束对该值必为0,表示对应约束中不等式 右端项的微小扰动不影响目标函数。
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
10)行名 [name] 例: [Objective]max=2*x+3*y; [Con1] 4*x+3*y<10; [Con2] 3*x+5*y<12; 线性规划(行名).lg4 默认为[1],[2],[3]
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
model:
Max 2x1+3x2
max = 2*x1+3*x2; St.
4*x1+3*x2<10; 3*x1+5*x2<12; end
4x1+3x2<=10 3x1+5x2<=12 x1≥0 x2≥0
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
第三步:求解模型
1)选择菜单 LINGO|Solve
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
每单位货物运输费用表:cost

仓贩 库
v1
v2
v3
v4
v5
v6
v7
v8
w1 6 2 6 7 4 2 5 9
w2 4 9 5 3 8 5 8 2
w3 5 2 1 9 7 4 3 3
w4 7 6 7 3 9 2 7 1
w5 2 3 9 5 7 2 6 5
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
常用优化软件
1.LINDO/LINGO软件 2.MATLAB优化工具箱
/mathematica优化程序包 3.EXCEL软件的优化功能 4.SAS(统计分析)软件的优化功能
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
• x1 1.272727 0.000000
• x2 1.636364 0.000000
• Row Slack or Surplus Dual Price
• 1 7.454545
1.000000
• 2 0.000000
0.9090909E-01
• 3 0.000000
0.5454545
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
优化问题的一般形式
min f ( x) s.t. hi ( x) 0, i 1,...,m
g j ( x) 0, j 1,...,l x D n
(1) 约 (2) 束

(3) 件
•无约束优化: 只有目标函数, 没有约束条件 •有约束优化: 目标函数和约束条件都有 •普通方程组:没有(1)(3), 只有(2) •不等式方程组:没有(1)(2), 只有(3)
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
优化类型
• 连续优化 : 全部决策变量取值均 为连续数值 (实数)
• 离散优化 : 部分或全部决策变量 只取离散数值
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
连续优化
• 线性规划(LP) 目标和约束均为线性函数 • 非线性规划(NLP) 目标或约束中有非线性函数
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
SLACK OR SURPLUS: 给出约束条件的松驰变量或剩余
变量的值; 小于等于约束为松驰变量
(SLACK); + 大于等于约束为剩余变量
(SURPLUS); -
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
§1 LINGO入门
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
设有数学模型如下:
max 2x1+3x2
St. 4x1+3x2<=10
3x1+5x2<=12
决策变量
x1≥0
x2≥0
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
目标函数
LINGO
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
Outline 一. 优化模型与优化软件简介 二. LINGO软件的基本使用方法 三. LINGO程序流程控制和子模型
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
一. 优化模型与优化软件简介
2)目标函数必须由 min =
或 max =
开头。
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
3)可以用<表示<=; 用>表示>=;
Lingo无严格小于,欲使a<b, 可以适当选取小的正常数e 表示成a+e<b,
20六2201年40分
20六2201年00时22月3902分9年日45星秒2期月29日10时40分
数学模型可表示如下:

68
min (cost _ i _ j *volum e _ i _ j)

i 1 j1

6
volum e _ i _ j dem and _ j ( j 1,2, ,8)
✓ 二次规划(QP) 目标为二次函数、 约束为线性
20六2201年00时22月3902分9年日45星秒2期月29日10时39分
相关文档
最新文档