第三章 函数极值与规划模型
在这一章中,我们将介绍函数极值与规划模型。约束条件下的极值求解是优化问题和运筹学研究的重点,也是各大数学建模竞赛中考察的重难点。它主要针对的是目标函数在约束条件下的极值,以及多种方案中的最优方案。本章主要涉及到的知识点有:
- 线性规划的基本模型与求解
- 非线性规划的基本模型与求解
- 整数规划的基本模型与求解
- 动态规划的基本模型与求解
- 多目标规划的一般策略
注意:本章内容也可以在凸优化理论相关资料中学习到,是比较难的一章。除了Matlab、Python以外,有很多优化求解软件例如Lingo、Gurobi等也适合做优化问题。
3.1 从线性代数到线性规划
3.1.1 中学阶段线性规划的局限性
在高中阶段我们已经接触过线性规划的知识,虽然那时可能没有觉得它有多重要。通过一个例子回忆一下:
例3.1
若 ( x ), ( y ) 满足条件:
{ x + y ≥ 4 x − y ≤ 2 y ≤ 3 \left\{ \begin{align} &x + y \geq 4 \\ &x - y \leq 2 \\ &y \leq 3 \end{align} \right. ⎩ ⎨ ⎧x+y≥4x−y≤2y≤3
则 ( z = 3x + y ) 的最小值为:
A. 18
B. 10
C. 6
D. 4
答案是选择 C。解题时,我们将不等式组中的不等式两两配对成三个二元一次方程组求解,得到三个点,然后把三个点分别代入 ( z = 3x + y ) 最后得到最小值。这个问题的可行域如下所示:
这个题目的解就是把不等式组里的每个不等式在平面直角坐标系中表示出来,然后根据不等号的方向确定可行域。将目标函数 ( y = -3x + z ) 平移直线的方式找到可行域内使目标函数截距最大的点,就是正确答案。
3.1.2 线性规划的基本形式
中学线性规划的局限性在于难以描述多约束、多变量。但无论是目标函数还是方程还是不等式,都可以看成是一个系数向量与变量向量在做乘法。例如:
[ 2a + 3b - c ]
可以看成向量 ([2, 3, -1]) 与向量 ([a, b, c]) 做内积。
线性规划的标准形式是:
Minimize (or Maximize) c T x Subject to A x ≤ b x ≥ 0 \begin{align} &\text{Minimize (or Maximize)} \quad c^T x \\ &\text{Subject to} \quad Ax \leq b \\ &x \geq 0 \end{align} Minimize (or Maximize)cTxSubject toAx≤bx≥0
其中,( c ) 是目标函数的系数向量,( A ) 是约束条件的系数矩阵,( b ) 是约束条件的常数向量,( x ) 是变量向量。
3.1.3 线性规划的几何解释
线性规划问题可以在几何上解释为寻找在多面体上的一个点,使得目标函数在该点取极值。可行域是由所有满足约束条件的点构成的集合,是一个凸多面体。目标函数是一个向量,在几何上可以看成一个方向,寻找使得目标函数最值的点就等价于在这个方向上移动,直到离开可行域。
3.1.4 线性规划的解法
常见的线性规划解法包括单纯形法和内点法。单纯形法是从可行域的一个顶点出发,通过边缘移动到另一个顶点,直到找到最优解。内点法则是从可行域内部出发,通过逼近边界找到最优解。
3.1.5 线性规划的应用
线性规划在实际生活中有广泛的应用。例如,在生产计划中,企业需要决定生产多少种产品以最大化利润,同时考虑原材料的有限性和生产能力的限制。在交通运输问题中,需要决定货物的运输路径以最小化运输成本。线性规划还可以用于金融投资组合优化、能源分配、网络流量优化等领域。
3.2 非线性规划
3.2.1 非线性规划的基本概念
非线性规划问题是指目标函数或约束条件中至少有一个是非线性的优化问题。非线性规划问题比线性规划问题更加复杂,因为它们可能有多个局部最优解,而不是一个唯一的全局最优解。
3.2.2 非线性规划的模型
非线性规划的标准形式是:
Minimize (or Maximize) f ( x ) Subject to g i ( x ) ≤ 0 ( i = 1 , 2 , … , m ) h j ( x ) = 0 ( j = 1 , 2 , … , p ) x ∈ X \begin{align} &\text{Minimize (or Maximize)} \quad f(x) \\ &\text{Subject to} \quad g_i(x) \leq 0 \quad (i = 1, 2, \ldots, m) \\ &h_j(x) = 0 \quad (j = 1, 2, \ldots, p) \\ &x \in X \end{align} Minimize (or Maximize)f(x)Subject togi(x)≤0(i=1,2,…,m)hj(x)=0(j=1,2,…,p)x∈X
其中,( f(x) ) 是目标函数,( g_i(x) ) 是不等式约束,( h_j(x) ) 是等式约束,( X ) 是变量的取值范围。
3.2.3 非线性规划的解法
非线性规划的解法包括梯度法、牛顿法、拉格朗日乘数法、罚函数法、内点法等。这些方法的核心思想是通过迭代逼近最优解,同时考虑约束条件。
3.2.4 非线性规划的应用
非线性规划在工程设计、经济管理、资源分配等领域有广泛应用。例如,在工程设计中,优化结构的强度和重量;在经济管理中,优化资源的配置以最大化收益;在能源分配中,优化能源的使用以最小化成本。
3.3 整数规划
3.3.1 整数规划的基本概念
整数规划问题是指变量只能取整数值的优化问题。整数规划问题分为纯整数规划、混合整数规划和二元整数规划。
3.3.2 整数规划的模型
整数规划的标准形式是:
Minimize (or Maximize) f ( x ) Subject to g i ( x ) ≤ 0 ( i = 1 , 2 , … , m ) h j ( x ) = 0 ( j = 1 , 2 , … , p ) x ∈ Z n \begin{align} &\text{Minimize (or Maximize)} \quad f(x) \\ &\text{Subject to} \quad g_i(x) \leq 0 \quad (i = 1, 2, \ldots, m) \\ &h_j(x) = 0 \quad (j = 1, 2, \ldots, p) \\ &x \in \mathbb{Z}^n \end{align} Minimize (or Maximize)f(x)Subject togi(x)≤0(i=1,2,…,m)hj(x)=0(j=1,2,…,p)x∈Zn
其中,( f(x) ) 是目标函数,( g_i(x) ) 是不等式约束,( h_j(x) ) 是等式约束,( x ) 是整数向量。
3.3.3 整数规划的解法
整数规划的解法包括分枝定界法、割平面法、动态规划法等。这些方法的核心思想是通过划分问题和剪枝策略逐步逼近最优解。
3.3.4 整数规划的应用
整数规划在调度问题、路径优化、投资组合优化等领域有广泛应用。例如,在调度问题中,优化机器的调度以最小化生产时间;在路径优化中,找到最优的运输路径以最小化运输成本;在投资组合优化中,决定投资组合的构成以最大化收益。
3.4 动态规划
3.4.1 动态规划的基本概念
动态规划是一种将复杂问题分解为子问题,通过子问题的最优解构造原问题的最优解的方法。动态规划的核心思想是记忆化存储和递推。
3.4.2 动态规划的模型
动态规划的基本模型包括状态表示、状态转移方程和边界条件。状态表示是对问题的抽象描述,状态转移方程描述了从一个状态到另一个状态的变化,边界条件描述了问题的初始状态和终止状态。
3.4.3 动态规划的应用
动态规划在最短路径问题、背包问题、资源分配
问题等领域有广泛应用。例如,在最短路径问题中,找到从起点到终点的最短路径;在背包问题中,决定物品的选择以最大化背包的价值;在资源分配问题中,优化资源的分配以最大化收益。
3.5 多目标规划
3.5.1 多目标规划的基本概念
多目标规划是指同时优化多个目标函数的优化问题。这类问题通常没有唯一的最优解,而是有一个解的集合,称为帕累托最优解。
3.5.2 多目标规划的模型
多目标规划的标准形式是:
Minimize (or Maximize) f 1 ( x ) , f 2 ( x ) , … , f k ( x ) Subject to g i ( x ) ≤ 0 ( i = 1 , 2 , … , m ) h j ( x ) = 0 ( j = 1 , 2 , … , p ) x ∈ X \begin{align} &\text{Minimize (or Maximize)} \quad f_1(x), f_2(x), \ldots, f_k(x) \\ &\text{Subject to} \quad g_i(x) \leq 0 \quad (i = 1, 2, \ldots, m) \\ &h_j(x) = 0 \quad (j = 1, 2, \ldots, p) \\ &x \in X \end{align} Minimize (or Maximize)f1(x),f2(x),…,fk(x)Subject togi(x)≤0(i=1,2,…,m)hj(x)=0(j=1,2,…,p)x∈X
其中,( f_1(x), f_2(x), \ldots, f_k(x) ) 是多个目标函数,( g_i(x) ) 是不等式约束,( h_j(x) ) 是等式约束,( X ) 是变量的取值范围。
3.5.3 多目标规划的解法
多目标规划的解法包括权重法、理想点法、ε约束法等。这些方法的核心思想是通过将多个目标函数转化为单个目标函数或通过约束条件逼近帕累托最优解。
3.5.4 多目标规划的应用
多目标规划在工程设计、经济管理、环境保护等领域有广泛应用。例如,在工程设计中,优化产品的性能和成本;在经济管理中,优化收益和风险;在环境保护中,平衡经济发展和环境保护。