数学建模讲座( 2008 年 7 月,湖南) 优化建模与 LINGO 优化软件 谢金星 清华大学数学科学系 Tel: 010-62787812

Slides:



Advertisements
Similar presentations
数学建模计算 1 基于 MATLAB 的数学建模竞赛计算 计算在建模竞赛中的作用 数学建模竞赛中的数学软件 MATLAB 数学建模工具箱 数学建模 MATLAB 命令及建模应用.
Advertisements

一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
数学建模计算 1 讲座 : 数学建模算法 4 月 16 日 4 教 305 上机辅导 4 月 23 日计算中心 上机辅导 4 月 30 日计算中心 讲座 : 车灯光源优化 设计 何国兴 5 月 12~13 日 4 教 305 讲座 : 彩票中的数学 谢志鸣 张辰煜 5 月 14 日 4 教 305 讲座.
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
舞蹈花球啦啦操 ——体育教研室邓素华.
公司保密工作要求及 院商秘保护工作安排 2014年9月12日.
班社会实践调查 ——大学生健康与运动状况调查.
TSP问题及LINGO求解技巧.
第三章 函数逼近 — 最佳平方逼近.
开题报告.
数学建模方法及其应用 韩中庚 编著.
第四章 数学规划模型 课程内容和目的: 了解数学规划模型的一般理论,介绍一些典型的规划模型,如生产计划安排问题、资源配置问题、运输问题、下料问题、指派问题、选址问题等。能通过分析建立一些实际问题的数学规划模型,会用各种工具软件熟练求解线性规划,非线性规划,整数规划等问题。 教学难点和重点: 重点掌握规划模型的三要素,建立规划模型的方法以及工具求解。难点是模型求解算法的理解和如何将实际问题逐步转换成规划问题。
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
中国企业社会责任探讨 2010思政四组
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
第八章二元一次方程组 8.3实际问题与二元一次方程组.
第八章二元一次方程组 8.3实际问题与二元一次方程组 (第3课时).
第14章 c++中的代码重用.
LINGO.
优化模型 教学目的: 初步认识优化模型的基本形式及掌握线性规划模型的建模及求解。 通过实例建模并求解,熟练掌握一些数学软件的使用。
常用数学软件选讲.
数学建模竞赛中的优化问题 数学建模 培训组
如何寫工程計畫書 臺北市童軍會考驗委員會 高級考驗營 版.
LINGO软件与数学建模 陈国华 湖南人文科技学院数学系
SOA – Experiment 3: Web Services Composition Challenge
优化模型与LINDO/LINGO优化软件
5.1.1 工具箱的功能 优化工具箱主要可以用于解决以下问题: (1)求解无约束条件非线性极小值;
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第4章 非线性规划 一维搜索方法 2011年11月.
第四章 数学规划模型 4.1 奶制品的生产与销售 4.2 自来水输送与货机装运 4.3 汽车生产与原油采购 4.4 接力队选拔和选课策略
第一章 函数 函数 — 研究对象—第一章 分析基础 极限 — 研究方法—第二章 连续 — 研究桥梁—第二章.
数据库使用指南 HeinOnline.
数据挖掘工具性能比较.
用相频曲线测阻尼系数的探索 指导教师 陈乾 吉新程.
湖南大学-信息科学与工程学院-计算机与科学系
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
第一章 函数与极限.
C语言程序设计 主讲教师:陆幼利.
赵 彤 运筹学模型与软件实践 Models and Software Practice of the Operations Research 赵 彤
线性规 Linear Programming
Transportation Problem
运 筹 学 运 筹 帷 幄 之 中 决 胜 千 里 之 外 绪 论 Introduction
Chapter 3 整数规划 运筹学 Integer Programming Operations Research
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
数学模型实验(五) 优化模型与线性规划.
iSIGHT 基本培训 使用 Excel的栅栏问题
用穷举法设计程序 南京师范大学 教育技术系 倪佳慧
概 率 统 计 主讲教师 叶宏 山东大学数学院.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
1.非线性规划模型 2.非线性规划的Matlab形式
第七、八次实验要求.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Models and Software Practice of the Operations Research
建模常见问题MATLAB求解  .
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
LINGO 教程 LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,LINGO高效的求解器可快速求解并分析结果。
XpressMP 软件 功能介绍 林森科技 崔承刚
滤波减速器的体积优化 仵凡 Advanced Design Group.
线性规划 Linear Programming
数学模型实验课(二) 最小二乘法与直线拟合.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
顺序结构程序设计 ——关于“字符串”和数值.
数据库使用指南 超星电子图书和读秀学术搜索.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

数学建模讲座( 2008 年 7 月,湖南) 优化建模与 LINGO 优化软件 谢金星 清华大学数学科学系 Tel:

简要提纲 1. 优化模型简介 2. LINGO 软件简介 3. 建模与求解实例

1. 优化模型简介

优化模型和优化软件的重要意义 解决优化 / 决策问题的手段 经验积累,主观判断 作试验,比优劣 建立数学模型 ( 优化模型 ) ,求最优策略 ( 决策 ) ( 最 ) 优化 : 在一定条件下, 寻求使目标最大 ( 小 ) 的决策 CUMCM 赛题: ~50% 与优化有关,规模大,需软件求 解 OR/MS/DS 的基础 :OR( 运筹学, Operations/-al Research ) MS( 管理科学,Management Science) DS( 决策科学,Decision Science) 工程技术 / 经济管理 / 科学研究 / 社会生活中经常遇到

优化问题三要素:决策变量;目标函数;约束条件 约束条件约束条件 决策变量 优化问题的一般形式 可行解(满足约束)与可行域(可行解的集合) 最优解(取到最小/大值的可行解) 目标函数

无约束优化 : 最优解的分类和条件 给定一个函数 f ( x ), 寻找 x* 使得 f ( x*) 最小,即 其中 局部最优解 全局最优解 必要条件 x * f(x)f(x) xlxl xgxg o 充分条件 Hessian 阵 最优解在可行域边界上取得时不能用无约束优化方法求解

约束优化的 简单分类 线性规划 (LP) 目标和约束均为线性函数 非线性规划 (NLP) 目标或约束中存在非线性函数 二次规划 (QP) 目标为二次函数、约束为线性 整数规划 (IP) 决策变量 ( 全部或部分 ) 为整数 整数线性规划 (ILP) ,整数非线性规划 (INLP) 纯整数规划 (PIP), 混合整数规划 (MIP) 一般整数规划, 0-1 (整数)规划 连续优化连续优化 离散优化离散优化 数学规划

无约束优化无约束优化 优化 (Optimization), 规划 (Programming) 线性规划线性规划 非线性规划非线性规划 网络优化网络优化 组合优化组合优化 整数规划整数规划 不确定规划不确定规划 多目标规划多目标规划 目标规划目标规划 动态规划动态规划 连续优化离散优化从其他角度分类

Optimization Tree

优化建模如何创新? 方法 1 :大胆创新,别出心裁 ---- 采用有特色的目标函数、约束条件等 ---- 你用非线性规划,我用线性规划 ---- 你用整数 / 离散规划,我用连续规划 / 网络优化 ---- …… 方法 2 :细致入微,滴水不漏 ---- 对目标函数、约束条件处理特别细致 ---- 有算法设计和分析,不仅仅是简单套用软件 ---- 敏感性分析详细 / 全面 ---- ……

建模时需要注意的几个基本问题 1 、尽量使用实数优化,减少整数约束和整数变量 2 、尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求最 大 / 最小值、四舍五入、取整函数等 3 、尽量使用线性模型,减少非线性约束和非线性变量 的个数 (如 x/y <5 改为 x<5y ) 4 、合理设定变量上下界,尽可能给出变量初始值 5 、模型中使用的参数数量级要适当 ( 如小于 10 3 )

常用优化软件 1. LINGO 软件 2. MATLAB 优化工具箱 3. EXCEL 软件的优化功能 4. SAS( 统计分析 ) 软件的优化功能 5. 其他

MATLAB 优化工具箱能求解的优化模型 优化工具箱 3.0 (MATLAB 7.0 R14) 连续优化离散优化 无约束优化 非线性 极小 fminunc 非光滑 ( 不可 微 ) 优化 fminsearch 非线性 方程 ( 组 ) fzero fsolve 全局 优化 暂缺 非线性 最小二乘 lsqnonlin lsqcurvefit 线性规划 linprog 纯 0-1 规划 bintprog 一般 IP( 暂缺 ) 非线性规划 fmincon fminimax fgoalattain fseminf 上下界约束 fminbnd fmincon lsqnonlin lsqcurvefit 约束线性 最小二乘 lsqnonneg lsqlin 约束优化 二次规划 quadprog

2. LINGO 软件简介

LINDO 公司软件产品简要介绍 美国芝加哥 (Chicago) 大学的 Linus Schrage 教授于 1980 年前后开发, 后来成立 LINDO 系统公司( LINDO Systems Inc. ), 网址: LINGO: Linear INteractive General Optimizer (V11.0) LINDO API: LINDO Application Programming Interface (V4.0) What’s Best!: (SpreadSheet e.g. EXCEL) (V8.0) 演示 ( 试用 ) 版、学生版、高级版、超级版、工业版、 扩展版 … (求解问题规模和选件不同)

LINDO 和 LINGO 软件能求解的优化模型 LINGO LINDO( 将被淘汰 ) 优化模型 线性规划 (LP) 非线性规划 (NLP) 二次规划 (QP) 连续优化 整数规划 (IP)

LINGO 软件简介 LINGO 模型的优点 集成了线性 ( 非线性 ) / 连续 ( 整数 ) 优化功能 运行速度较快 具有多点搜索 / 全局优化功能 提供了灵活的编程语言 ( 矩阵生成器 ) ,可方便地输 入模型 提供与其他数据文件的接口 ( 如 TEXT, EXCEL, ODBC 数据库接口 ) 提供与其他编程语言的接口 LINDO API 可用于自主开发

LP QP NLP IP 全局优化 ( 选 ) ILP IQP INLP LINGO 软件的求解过程 LINGO 预处理程序 线性优化求解程序非线性优化求解程序 分枝定界管理程序 1. 确定常数 2. 识别类型 1. 单纯形算法 2. 内点算法 ( 选 ) 1 、顺序线性规划法 (SLP) 2 、广义既约梯度法 (GRG) ( 选 ) 3 、多点搜索 (Multistart) ( 选 )

目标与约束段 集合段( SETS ENDSETS ) 数据段( DATA ENDDATA ) 初始段( INIT ENDINIT ) 计算段( CALC ENDCALC ) 子模型( SUBMODEL ENDSUBMODEL ) LINGO 模型的构成: 6 个段

LP QP NLP IP 全局优化 ( 选 ) ILP IQP INLP LINGO 软件的求解过程 LINGO 预处理程序 线性优化求解程序非线性优化求解程序 分枝定界管理程序 1. 确定常数 2. 识别类型 1. 单纯形算法 2. 内点算法 ( 选 ) 1 、顺序线性规划法 (SLP) 2 、广义既约梯度法 (GRG) ( 选 ) 3 、多点搜索 (Multistart) ( 选 )

LINGO 模型 — 例:选址问题 某公司有 6 个建筑工地,位置坐标为 (a i, b i ) ( 单位:公里 ), 水泥日用量 d i ( 单位:吨) 假设:料场 和工地之间 有直线道路

用例中数 据计算, 最优解为 总吨公里数为 线性规划模型 决策变量: c i j ( 料场 j 到工地 i 的 运量) ~12 维

选址问题: NLP 2 )改建两个新料场,需要确定新料场位置 (x j,y j ) 和 运量 c ij ,在其它条件不变下使总吨公里数最小。 决策变量: c i j , (x j,y j )~16 维 非线性规划模型 演示 Location.lg4

LINGO 模型的构成: 4 个段 集合段( SETS ENDSETS ) 数据段( DATA ENDDATA ) 初始段( INIT ENDINIT ) 目标与 约束段 局部最优: ( 吨公里 ) LP :移到数据段

边界

集合的类型 集合 派生集合 基本集合 稀疏集合 稠密集合 元素列表法 元素过滤法 直接列举法 隐式列举法 setname [/member_list/] [: attribute_list]; setname(parent_set_list) [/member_list/] [: attribute_list]; SETS: CITIES /A1,A2,A3,B1,B2/; ROADS(CITIES, CITIES)/ A1,B1 A1,B2 A2,B1 A3,B2/:D; ENDSETS SETS: STUDENTS /S1..S8/; PAIRS( STUDENTS, STUDENTS) | &2 #GT# &1: BENEFIT, MATCH; ENDSETS

集合元素的隐式列举 类型隐式列举格式示例示例集合的元素 数字型 1..n1..51, 2, 3, 4, 5 字符 - 数字型 stringM..stringNCar101..car208Car101, car102, …, car208 星期型 dayM..dayNMON..FRIMON, TUE, WED, THU, FRI 月份型 monthM..monthNOCT..JANOCT, NOV, DEC, JAN 年份 - 月份型 monthYearM..mo nthYearN OCT2001..JAN 2002 OCT2001, NOV2001, DEC2001, JAN2002

运算符的优先级 优先级运算符 最高 #NOT# — (负号) ^ * / + — (减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# 最低 (=) 三类运算符: 算术运算符 逻辑运算符 关系运算符

集合循环函数 四个集合循环函数: FOR 、 SUM 、 MAX 、 setname [ ( set_index_list)[ | condition]] : expression_list); [objective] MAX PAIRS( I, J): BENEFIT( I, J) * MATCH( I, I): PAIRS( J, K) | J #EQ# I #OR# K #EQ# I: MATCH( J, K)) I, MATCH( I, J))); I, J): BENEFIT( I, J)); I, J): BENEFIT( I, J)); Example:

状态窗口 Solver Type: B-and-B Global Multistart Model Class: LP , QP , ILP , IQP , PILP, PIQP , NLP , INLP , PINLP State: Global Optimum Local Optimum Feasible Infeasible Unbounded Interrupted Undetermined

7 个选项卡 ( 可设置 个控制参数 )

程序与数据分离 文本文件文本文件 使用外部数据文件 Cut (or Copy) – Paste 函数与电子表格软件(如 EXCEL 函数与数据库连接 LINGO 命令脚本文件 LG4 ( LONGO 模型文件) LNG ( LONGO 模型文件) LTF ( LONGO 脚本文件) LDT ( LONGO 数据文件) LRP ( LONGO 报告文件) 常用文件后缀

3. 建模与求解实例(结合软件使用)

建模实例与求解 最短路问题 飞机定位 生产计划 DVD 租赁

例 最短路问题 求各点到 T 的最短路 C1C1 B1B1 C2C2 B2B2 A1A1 A2A2 A3A3 T S 6 shortestPath.lg4

0 y x VOR2 x=629, y= (1.3 0 ) 864.3(2.0) 飞机 x=?, y=? VOR1 x=764, y= (0.8 0 ) VOR3 x=1571, y= (0.6 0 ) 北 DME x=155, y=987 飞机与监控台(图中坐标和测量距离的单位是 “ 公里 ” ) 实例 : 飞机精确定位问题

飞机精确定位模型 xixi yiyi 原始的 ( 或 d 4 ) VOR ( 弧度) ( 弧度) VOR ( 弧度) ( 弧度) VOR ( 弧度) ( 弧度) DME d 4 =864.3 ( km ) 2.0 ( km )

飞机的精确定位模型 第 1 类模型 : 不考虑误差因素 超定方程组,非线性最小二乘! 量纲不符! ?

飞机精确定位模型 第 2 类模型 : 考虑误差因素 ( 作为硬约束 ) Min x; Min y; Max x; Max y. 以距离为约束,优化角度误差之和(或平方和); 或以角度为约束,优化距离误差. 非线性规划 ? ? 仅部分考虑误差 ! 角度与距离的 “ 地位 ” 不应不同! 有人也可能会采用其他目标,如: 误差非均匀分布!

飞机精确定位模型 误差一般服从什么分布? 正态分布! 不同的量纲如何处理? 无约束非线性最小二乘模型 归一化处理! shili0702.m 飞机坐标 ( , ), 误差平方和 (<< 4) 角度需要进行预处理,如利用 Matlab 的 atan2 函数, 值域 (-pi, pi) 第 3 类模型 : 考虑误差因素 ( 作为软约束 ); 且归一化

飞机精确定位模型 小技巧 : LINGO 中没有 atan2 函数, 怎么办? 函数! exam0507c.lg4 同前面的模型 / 结果 飞机坐标 ( , ), 误差平方和 2.6 与前面的结果有所不同, 为什么 ? 哪个模型合理些 ? 最后 : 思考以下模型 : exam0507d.lg4

例:生产批量计划 背景: MRP ( MRP-II )系统中的生产计划

生产批量计划:数学模型 已知: N, T, s, h, d, r, a, C Min s.t. 演示 exam0502.lg4

例: DVD 分配问题 背景: DVD 在线租赁,每人每次最多 3 张 已知:网站手上 100 种 DVD 的现有张数和当前需要 处理的 1000 位会员的在线订单(具体数据见 ) 问题:如何对这些 DVD 进行分配,才能使会员获得 最大的满意度?

EXCEL 表格格式示例 数字越小表示会员的偏爱程度越高,数字 0 表 示对应的 DVD 当前不在会员的在线订单中 DVD 编号 D001D002D003D004… DVD 现有数量 … 会员 在线 订单 C … C … C … C … ………………

模型 满意度 s ij 定义: 很多,如 s ij =1-a ij /11 (a ij =0 时 s ij =0) , , , , 。 或 <= 0-1 变量个数: 1000* = 演示 Dvd_1000_100.lg4

CUMCM 其他优化赛题 ( 参见 ) 飞行管理问题 空洞探测问题 钻井布局问题 抢渡长江问题 等等

主要参考文献 谢金星, 薛毅 : 优化建模与 LINDO/LINGO 软件, 清华大学出版社, 2005 年 7 月出版. 姜启源, 邢文训, 谢金星, 杨顶辉 : 大学数学实验, 清华大学出版社, 2005 年 2 月出版. 历届竞赛优秀论文集: 《全国大学生数学建模竞赛优秀论文汇编 ( ) 》:物质出版社, 《数学的实践与认识》 (2000 年及以前 ) 《工程数学学报》 ( 2001 年及以后)

That’s all. Any Questions? Thank you for your attendance! 最后,祝大家 在数学建模活动中 取得更大的成绩!  清华大学数学科学系 谢金星, 2008.