运筹学
运筹学
运筹学的研究对象是人类对各种资源的运用及筹划活动,它的研究目的在于了解和发现这种运用及筹划活动的基本规律,以便发挥有限资源的最大效益,来达到总体、最优的目标。
最优化
在一定约束之下如何选取某些因素的值使某项(或某些)指标达到最优的一门学科。运筹学中所处理的问题绝大部分都是最优化问题。
运筹学的主要分支
- 数学规划
线性规划
非线性规划
整数规划
多目标规划
(二次规划、带二次约束的二次规划、分式规划……) - 组合优化
- 随即运筹
排队论
库存论
可靠性理论 - 博弈论与决策理论
数学规划
数学规划
- 若干个变量在满足一些等式或不等式限制条件下,使目标函数取得最大值或最小值
- 研究问题的数学性质,构造求解问题的方法,实现求解问题的算法,以及将算法应用于实际问题。
数学规划建模
- 将实际问题表示成数学规划的形式,使得可以借助数学规划的算法或软件求解具体的实例,利用数学规划的理论和方法分析解决问题。
- 建立实际问题的数学规划模型一般包含确定决策变量、给出目标函数、列出约束条件等步骤(约束条件为等式或不等式,等式或不等式左侧一般为决策变量的简单函数,不出现分段函数、逻辑关系等复杂形式)
数独案例
- 决策变量: x i j k = { 1 第 i 行第 j 列所填的数字为 k 0 其它 x_{ijk}= \begin{cases} 1 &&第i行第j列所填的数字为k \\ 0 &&其它 \\ \end{cases} xijk={10第i行第j列所填的数字为k其它
- 约束条件:
数学规划建模的实际意义
- 运用通用方法和数学软件求解具体问题的桥梁
- 具有定量目标和复杂限制的优化问题的最优解求解方法
数学规划建模的适用范围
- 具有简单最优算法或可转为为已知多项式时间可解问题,不需要运用数学规划求解
- 最优解不具必要性,或求解时间要求高于精度要求等问题,不宜盲目运用数学规划求解
- 建立数学规划模型困难,因实例规模或问题结构等原因使求解不具现实可能性的问题,不能直接运用数学规划求解
建立数学规划模型的基本要求
- 数学规划模型是问题要求和限制的真实反映
数学规划模型的最优解(可行解)与问题最优解(可行解)是否一致或对应 - 是否遗漏问题的隐含约束、决策变量的必然要求、多组决策变量间的联系等约束条件
- 数学规划模型应符合数学规划的内容规范和形式要求
要素完整、变量指标运用准确
逻辑关系、集合运算等一般不在数学规划中出现
问题可能存在多个数学规划描述,需根据实际情况进行选择和不断完善
复杂目标函数和约束条件的简化,0-1变量的灵活运用
可行域约简、数学规划的重构、分解与松弛
组合优化
组合优化
- 应用于离散对象的,从有限多个可行解中找出使某个目标函数达到最优的解的优化问题
- 组合优化是离散数学与最优化的交叉学科分支
组合优化问题的求解
- 相对决策变量为连续变量的连续优化问题,组合优化问题的最优解缺少好的性质,求解缺少好的工具
- 组合优化问题通常不能通过穷举所有可能的解加以比较来求解,因为可行解的数目可能是一很大的数,以致于当前或相当长的一段时间内人力或计算机不能承受
- 设计算法是求解组合优化问题的主要手段
计算复杂性
理论计算机科学的一个重要分支,主要研究如何确定一个问题的所有可能的算法解的最优效率或最优效率的界限
组合优化问题求解方法
组合优化问题
- 背包
- 指派
- 排序与调度
项目排序
时间表 - 装箱
- 选址
路由问题
- 最短路
- 旅行售货商问题
- 车辆路径问题
- 边路由
- 网络流
图中优化问题
- 特殊边集(匹配、割)
- 特殊顶点集(独立集、顶点覆盖、支配集)
- 特殊子图(最小生成树、最小Steiner树)
求解组合优化问题
- 了解问题特点
- 明确求解要求
- 选择适合方法
求解注意事项
- 设计算法,非求解实例
- 重模型,也重结果
- 最优算法、构造性启发式算法、Metaheuristic选哪种,怎么办
补充lpsolve的使用