学习LINGO语言课件全解
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分