数学建模 —— 数学规划模型(5)

目录

一、数学规划

[1.1 数学规划问题一般形式](#1.1 数学规划问题一般形式)

二、常见规划模型

[2.1 线性规划(Linear Programming)](#2.1 线性规划(Linear Programming))

[2.1.1 定义](#2.1.1 定义)

[2.1.2 一般形式](#2.1.2 一般形式)

[2.1.3 标准形式](#2.1.3 标准形式)

[2.1.4 求解](#2.1.4 求解)

[2.2 整数规划(Integer Programming)](#2.2 整数规划(Integer Programming))

[2.2.1 单目标规划](#2.2.1 单目标规划)

[2.2.2 两目标规划](#2.2.2 两目标规划)

[2.3 非线性规划(Nonlinear Programming)](#2.3 非线性规划(Nonlinear Programming))

[2.3.1 定义](#2.3.1 定义)

[2.3.2 灵敏性及稳健性分析](#2.3.2 灵敏性及稳健性分析)

[2.3.3 求解](#2.3.3 求解)

三、注意

一、数学规划

**数学规划(Mathematical Programming)**是应用数学的一个重要分支,并非指某种特定的面向数学的计算机编程技术。

该术语由哈佛大学的Robert Dorfman****最先使用,其初始含义具有相当的包容性,从数学的角度表达了人们处理实际问题的一种理念。如下图所示:

五步法建模:

1.1 数学规划问题一般形式

满足约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域

于是数学规划问题可以表述为:求满足约束条件的*x****,使f(x*)成为最优最小或最大值),而将x*称为数学规划问题的最优解,将f*=f(x*)称为最优值****。相当于高等数学里的条件极值。**

数学规划的研究对象是数值最优化问题,所以,数学规划现在被通俗的称为最优化(optimization)****。

二、常见规划模型

2.1 线性规划(Linear Programming)

2.1.1 定义

数学规划模型中,如果

(1)目标函数为决策变量的线性函数;

(2)约束条件为决策变量的线性等式或线性不等式,

则称之为线性规划(Linear programming,记为LP)。

2.1.2 一般形式

目标函数

2.1.3 标准形式

目标函数

2.1.4 求解

2.2 整数规划(Integer Programming)

2.2.1 单目标规划

定义**:数学规划中的变量****(部分或全部)限制为整数时,称为整数规划。缩写IP****。**

若在线性规划中,变量限制为整数,则称为整数线性规划。若无特别说明,整数规划一般指整数线性规划**。**

若整数规划中某个变量仅取01,则称为 0-1型整数规划

分类**:变量全部限制为整数时,称为纯****(完全)**整数规划。

变量部分限制为整数时,称为混合整数规划。

特点**:**

1原线性规划有最优解,当变量限制为整数后,整数规划解的可能情况:

①原线性规划的最优解全为整数,则整数规划的最优解不变;

②整数规划无可行解;

③有可行解(当然就存在最优解),但最优解值变差。

**(2)**整数规划最优解不能按实数最优解简单取整而获得。

2.2.2 两目标规划

若进行加权形成一个目标:

2.3 非线性规划(Nonlinear Programming)

2.3.1 定义

定义:如果线性规划的目标函数或约束函数中含非线性函数,则称之为非线性规划。

注意**:**

**(1)**线性规划与非线性规划区别,若线性规划的最优解存在,则只能在可行域的边界特别是顶点达到,而非线性规划则可能在可行域的任意一点达到;

**(2)**非线性规划目前没有一般的算法,各方法都有特定的适用范围,解非线性规划问题比解线性规划问题困难很多。

2.3.2 灵敏性及稳健性分析

(1)灵敏性

数学建模的整个过程从一些假设开始,但我们很少能保证这些假设是完全正确的,因此需要考虑所得结果对每一条假设的敏感程度。

(2)稳健性

一个数学模型称为稳健的,是指即使模型不完全精确,由其导出的结论也是可靠的。

2.3.3 求解

(1)无约束条件最优解:多元函数求极值;

有约束条件最优解:条件极值,拉格朗日乘数法

(2)计算软件

用Matlab工具箱求解非线性规划问题(略)

三、注意

1**、**尽量使用实数优化,减少整数约束和整数变量

2**、**尽量使用光滑优化,减少非光滑约束的个数

如:尽量少使用绝对值、符号函数、多个变量求最大**/**最小

值、四舍五入、取整函数等

3**、**尽量使用线性模型,减少非线性约束和非线性变量的个数

(如x/y**<5****改为x<5y)**

4**、**合理设定变量上下界,尽可能给出变量初始值

5**、模型中使用的参数数量级要适当(如小于103)**

相关推荐
珊瑚里的鱼3 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
秋说4 小时前
【PTA数据结构 | C语言版】顺序队列的3个操作
c语言·数据结构·算法
lifallen4 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
liupenglove4 小时前
自动驾驶数据仓库:时间片合并算法。
大数据·数据仓库·算法·elasticsearch·自动驾驶
python_tty5 小时前
排序算法(二):插入排序
算法·排序算法
然我6 小时前
面试官:如何判断元素是否出现过?我:三种哈希方法任你选
前端·javascript·算法
risc1234566 小时前
BKD 树(Block KD-Tree)Lucene
java·数据结构·lucene
F_D_Z6 小时前
【EM算法】三硬币模型
算法·机器学习·概率论·em算法·极大似然估计
kk_stoper6 小时前
如何通过API查询实时能源期货价格
java·开发语言·javascript·数据结构·python·能源
秋说6 小时前
【PTA数据结构 | C语言版】字符串插入操作(不限长)
c语言·数据结构·算法