数学建模理论自制笔记3:最优化问题之线性规划

1、运筹学基础概念:

  • 运筹学的性质:应用科学——应用现有的科学技术知识和数学方法,解决实际中提出的专门问题,为决策者选择最优决策提供定量依据;
  • 运筹学的特点:定量化分析;多学科交叉;最优决策;
  • 运筹学的研究目的:了解和发现这种运用及筹划活动的基本规律,以便发挥有限资源的最大效益,来达到总体、全局最优的目标,而寻找使目标达到最优的方法称为最优化方法
  • 运筹学模型的一般形式:数学建模理论自制笔记3:最优化问题之线性规划_第1张图片
  • 运筹学/最优化模型的分类:
    • 根据决策变量的取值类型分:离散优化/整数规划模型、连续优化/任意优化模型;
    • 根据模型的类型及处理方法分:数学规划、组合优化、图论与网络流、动态规划等;
  • 运筹学相关概念:
    • 数学规划:在一些等式或不等式的约束条件下,求一个目标函数的极大(或极小)的优化模型:其中x为向量(即);其中满足所有约束条件的点x称为可行点/可行解,所有可行点组成的集合称为可行域S;若,且使在S上达到最大(或最小),则称x^*最优点/最优解,称为最优值
      • 单目标规划:对应数学规划里目标函数只有一个;否则为多目标规划;
      • 线性规划:对应数学规划里目标函数和约束条件中的函数均为线性函数;否则为非线性规划;
      • 整数规划:对应数学规划里变量x中的数值限取整数;其中若在线性模型中变量限制为整数,则称为整数线性规划;若仅限制部分数值取整数,则称为混合整数规划
      • 0-1规划:对应整数规划里变量x中的数值仅限取0或1;
    • 组合优化:设存在有限集合,以及定义在E的某些子集作成的集合上的实值函数f要求找出E的一个子集,既满足某些要求,又使相应的函数值f(e)达到极大(或极小)的最优化问题;
    • 图论:研究图(指由一组点,与点之间的连线/边所组成的总体)的理论;
    • 网络:各条边上赋有权数的图;
    • 网络流:图论中应用广泛的一个分支,主要包含树、路、流的问题; 
    • 动态规划:把一个多变量优化问题分解为若干阶段,每个阶段组成一个单变量子问题,逐个解决,从而求出多变量问题最优解的方法;

2、运筹学解决问题的步骤:

  1. 提出问题:目标、约束、决策变量、参数;
  2. 建立模型:变量、参数、目标之间的关系表示;
  3. 模型求解:数学方法及其他方法;
  4. 解的检验:制定检验准则、讨论与现实的一致性;
  5. 灵敏性分析:参数扰动对解的影响情况;
  6. 解的实施:回到实践中;
  7. 评估:考察问题是否得到完满解决;

3、线性规划的表示形式:

  • 标准形:;其中后面表示的是限制条件;
  • 不同情况下的一般形式化为标准形:
    • \left\{\begin{matrix} \max z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j=b_i & i=1,2,\cdots ,m \\ x_j\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right. \overset{f=-z}{\rightarrow} \left\{\begin{matrix} \min f=-\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j=b_i & i=1,2,\cdots ,m \\ x_j\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right.
    • \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j\leqslant b_i & i=1,2,\cdots ,m \\ x_j\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right. \overset{x_i'}{\rightarrow} \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j+x_i'=b_i & i=1,2,\cdots ,m \\ x_j\geqslant 0,x_i'\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right.;其中称作松弛变量;
    • \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j\geqslant b_i & i=1,2,\cdots ,m \\ x_j\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right. \overset{x_i''}{\rightarrow} \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j-x_i''=b_i & i=1,2,\cdots ,m \\ x_j\geqslant 0,x_i''\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right.;其中称作剩余变量;
    • \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j=b_i & i=1,2,\cdots ,m \\ x_j\geqslant h_j\left ( h_j\neq 0 \right ) & j=1,2,\cdots ,n \end{matrix}\right. \overset{y_j}{\rightarrow} \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_j(y_j+h_j)\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}(y_j+h_j)=b_i & i=1,2,\cdots ,m \\ y_j\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right.
    • \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_jx_j\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}x_j=b_i & i=1,2,\cdots ,m \\ x_j\in \mathbb{R} & j=1,2,\cdots ,n \end{matrix}\right. \overset{y_j',y_j''}{\rightarrow} \left\{\begin{matrix} \min z=\sum_{j=1}^{n}c_j(y_j'-y_j'')\\ \textup{s.t.}\sum_{j=1}^{n}a_{ij}(y_j'-y_j'')=b_i & i=1,2,\cdots ,m \\ y_j'\geqslant 0,y_j''\geqslant 0 & j=1,2,\cdots ,n \end{matrix}\right.
    • 举例:\left\{\begin{matrix} \max z=x_1+x_2\\ \textup{s.t. } 2x_1+3x_2\leqslant 6\\ x_1+7x_2\geqslant 4\\ 2x_1-x_2=3\\ x_1\geqslant 0 \end{matrix}\right. \overset{f=-z}{\rightarrow} \left\{\begin{matrix} \max f=-x_1-x_2\\ \textup{s.t. } 2x_1+3x_2\leqslant 6\\ x_1+7x_2\geqslant 4\\ 2x_1-x_2=3\\ x_1\geqslant 0 \end{matrix}\right. \overset{x_3}{\rightarrow} \left\{\begin{matrix} \max f=-x_1-x_2\\ \textup{s.t. } 2x_1+3x_2+x_3=6\\ x_1+7x_2\geqslant 4\\ 2x_1-x_2=3\\ x_1\geqslant 0,x_3\geqslant 0 \end{matrix}\right. \overset{x_4}{\rightarrow} \left\{\begin{matrix} \max f=-x_1-x_2\\ \textup{s.t. } 2x_1+3x_2+x_3=6\\ x_1+7x_2-x_4=4\\ 2x_1-x_2=3\\ x_1\geqslant 0,x_3\geqslant 0,x_4\geqslant 0 \end{matrix}\right. \overset{x_5,x_6}{\rightarrow} \left\{\begin{matrix} \max f=-x_1-(x_5-x_6)\\ \textup{s.t. } 2x_1+3(x_5-x_6)+x_3=6\\ x_1+7(x_5-x_6)-x_4=4\\ 2x_1-(x_5-x_6)=3\\ x_1\geqslant 0,x_3\geqslant 0,x_4\geqslant 0,x_5\geqslant 0,x_6\geqslant 0 \end{matrix}\right.
  • 标准形的矩阵形式:;其中;

4、线性规划的基本概念:

  • 凸集:令为线性空间,若,有;即x_1,x_2之间的线段均在S内;这里规定单点集为凸集,空集\varnothing为凸集;
  • 线性规划标准形矩阵形式的约束条件的相关概念:
    • 基与基向量:假设系数矩阵A_{m\times n}的秩为,设为A的任意m阶非奇异子矩阵(即),则D为线性规划问题的一个/基矩阵/基本矩阵;基DA的前m 个列向量构成,记为,即数学建模理论自制笔记3:最优化问题之线性规划_第2张图片,这里称为基向量
    • 基变量与非基变量:根据上述概念我们可以改写:数学建模理论自制笔记3:最优化问题之线性规划_第3张图片;与基向量对应的变量为基变量,剩余的变量为非基变量/自由变量;其中基矩阵不同,则基向量不同,对应的基变量也不同;
    • 基本解与基本可行解:令非基变量全为0,可得上述方程组的唯一解,称此解为基本解/基解;而所有分量都非负的基本解为基本可行解;对应于基本可行解的基称为基本可行基;其中基本解中非零分量的个数(即A的秩);
    • 基本解与基本可行解之间的韦恩(Venn)图关系:数学建模理论自制笔记3:最优化问题之线性规划_第4张图片 ;
    • 例如,其标准形的矩阵形式里满足:; 显然,A的秩为2,四个列向量中任意两个均性无关,因此A共有6个基矩阵,分别为:D_1=\begin{pmatrix}-3&-4\\-1&2\end{pmatrix},D_2=\begin{pmatrix}-3&-1\\-1&0\end{pmatrix},D_3=\begin{pmatrix}-3&0\\-1&-1\end{pmatrix},D_4=\begin{pmatrix}-4&-1\\2&0\end{pmatrix},D_5=\begin{pmatrix}-4&0\\2&-1\end{pmatrix},D_6=\begin{pmatrix}-1&0\\0&-1\end{pmatrix}
      • 对于D_1,求其对应的基本解:,令非基变量, 解得:,并将其记作点;
      • 对于,求其对应的基本解: ,令非基变量, 解得:,并将其记作点;
      • 同理可得对应的,其中基本可行解里需要所有分量非负,那么排除掉,最终所有的基本可行解有;而基本可行解则是对应于可行域的顶点,详情见下图:数学建模理论自制笔记3:最优化问题之线性规划_第5张图片

5、线性规划的基本定理:

  1. 若线性规划问题存在可行域,则其可行域是凸集;
  2. 线性规划问题的基本可行解对应于可行域的顶点;
  3. 若可行域有界,线性规划问题的目标函数一定可以在其可行域的顶点上达到最优;

6、单纯形法:

  • 单纯形法的基本思路:有选择地取基本可行解,即从可行域的一个顶点出发,沿着可行域的边界移到另一个相邻的顶点,要求新顶点的目标函数值不比原目标函数值差;常用来求解较大规模的线性规划问题;
  • 单纯形法的基本步骤:
    • 对于给出的约束方程(比如),我们要将其写成表格的形式:(即去掉x_i后呈现的形式);
    • 观察表格里是否满足以下特点,当满足前三项而不满足第4项时则可以使用单纯形法:【注:若4个条件全部满足,则从表格中立即可以得到最优解和最优值,其中最优解是指单位子块中1所对应的变量取相应右列的值,不在单位子块位置中的变量取值0,最优值则是指右下端元素的相反数】
      • 左上角(这里左上角指的是左上块的元素,右下角等概念同)具有单位子块/单位矩阵;
      • 右上角元素非负;
      • 左下角底行相应于单位子块位置的元素为0;
      • 左下角底行其它元素非负;
    • 很明显,该表格里第1、2项条件满足了,但第3、4项条件并不满足,这里我们可以使用初等行变换使得第3项条件成立:即让,可以得到:数学建模理论自制笔记3:最优化问题之线性规划_第6张图片,这样第1、2、3项条件均满足了;
    • 然后我们进行单纯形法的操作:首先选择进基变量(底行的第一个负元素,这里是指-10,则该列对应的x_1为进基变量),然后我们选择离基变量(从进基变量这一列选择一个正元素,满足这个正元素对应最右边的数除以这个正元素的值最小,这里只有一个正元素2,有,由于没有其他正元素故直接取正元素为2;然后表格左上角里2对应的行里可以找到单位矩阵中的1在第4列里,则离基变量为x_4);【注:这里进基变量和离基变量不必刻意记,只是需要了解这个过程】
    • 接着进行旋转运算,将这个正元素2变为1,即,数学建模理论自制笔记3:最优化问题之线性规划_第7张图片;然后再将红圈这一列通过初等行变换变为0:数学建模理论自制笔记3:最优化问题之线性规划_第8张图片
    • 以上的过程称为一次迭代操作,如果发现左下角底行仍然有负元素,则从头进行第二次迭代操作;如果没有负元素了,算法终止,得到最优解和最优值;
  • 单纯形法求解举例:数学建模理论自制笔记3:最优化问题之线性规划_第9张图片
    • 首先化为标准形数学建模理论自制笔记3:最优化问题之线性规划_第10张图片后列出表格,发现满足4点中的前3点(有单位矩阵、右上角元素非负、单位子块对应底行元素为0),但第4点(底行元素非负)不满足,故可使用单纯形法;
    • 找到底行的-2,对应列里,故正元素选择3,该正元素3对应行后,再利用初等行变换将其他行的第一个元素变为0,即:数学建模理论自制笔记3:最优化问题之线性规划_第11张图片
    • 这时发现底行元素仍有负元素,则需要进行第2次迭代操作:找到底行的,对应列里,故正元素选择,该正元素对应行后,再利用初等行变换将其他行的第一个元素变为0,即:数学建模理论自制笔记3:最优化问题之线性规划_第12张图片
    • 此时底行元素非负,最优解为,去掉另外设的松弛变量后最优解为,最优值为-17;

7、大M法:

  • 大M法的基本思路:用可靠的代数方法求得实施单纯形方法所必需的初始基本可行解;
  • 大M法的基本步骤:
    • 对于给出的方程数学建模理论自制笔记3:最优化问题之线性规划_第13张图片,先写出其表格形式数学建模理论自制笔记3:最优化问题之线性规划_第14张图片
    • 可以发现左上角单位子块不能明显得到,且右上角元素存在负数;这里首先通过初等行变换保证右上角元素非负,通过即可;然后在左上角人工添加单位子块,单位子块下面的元素为M,即:数学建模理论自制笔记3:最优化问题之线性规划_第15张图片
    • 由于M足够大,所以只要原问题有最优解,新问题就不会因取正值而使z达到最小值,最优解一定在(为非基变量)的情形下取得;这里对进行离基操作,即通过初等行变换将下面的M变成0,即:数学建模理论自制笔记3:最优化问题之线性规划_第16张图片
    • 然后发现其满足单纯形法的条件(前3点满足但第4点不满足),故进行单纯形法操作:这里直接简单用箭头表示过程:数学建模理论自制笔记3:最优化问题之线性规划_第17张图片数学建模理论自制笔记3:最优化问题之线性规划_第18张图片数学建模理论自制笔记3:最优化问题之线性规划_第19张图片
    • 那么最优解为,最优值为7;

8、对偶单纯形法:

  • 对偶单纯形法的使用条件:满足第1、3、4点(有单位子块、单位子块下面元素为0、左下角底行元素非负)但不满足第2点(右上角元素非负);
  • 对偶单纯形法的基本步骤:
    • 对于给出的方程数学建模理论自制笔记3:最优化问题之线性规划_第20张图片,先化为标准形数学建模理论自制笔记3:最优化问题之线性规划_第21张图片,然后我们需要让方程满足第1、3、4点,这里用表格+箭头的形式简单阐述:数学建模理论自制笔记3:最优化问题之线性规划_第22张图片
    • 发现方程不满足第2点(即右上角有负元素),故从右上角里选择第一个负元素(这里是指-4),之后的思路和单纯形法相类似:在该负元素这一行里的左上角里选择负元素(从负元素这一行里选择一个负元素,满足这个负元素对应最下边的数除以这个负元素绝对值的值最小,由于,则这里选择-2);
    • 接下来我们对-2这一行进行初等行变换,使-2变为1,即;然后再将变为1这个数的这一列通过初等行变换变为0,得到:数学建模理论自制笔记3:最优化问题之线性规划_第23张图片
    • 此时可发现第2点仍然不满足(右上角仍然有负元素),故需要进行第2次迭代,这里找到关键的负元素数学建模理论自制笔记3:最优化问题之线性规划_第24张图片后过程省略,最终有:数学建模理论自制笔记3:最优化问题之线性规划_第25张图片
    • 发现满足第1-4点后,可以得出最优解为, 去掉另外设的松弛变量x_3,x_4后最优解为,最优值为; 

9、广义单纯形法:

  • 广义单纯形法的基本思路:若表格满足第1、3点(有单位子块、单位子块下面元素为0)但不满足2、4点(右上角和左下角均有负元素),则可以灵活交替使用单纯形法和对偶单纯形法求最优解;
  • 广义单纯形法的基本步骤:
    • 对于给出的方程数学建模理论自制笔记3:最优化问题之线性规划_第26张图片,变为标准形后写出表格并通过初等行变换给出单位子块并让单位子块下面的元素为0,即数学建模理论自制笔记3:最优化问题之线性规划_第27张图片
    • 这里先使用单纯形法时不使用-3而是选择-6(因为这样可以直接让左下角底行元素变为非负),即,使用完单纯形法后得到:数学建模理论自制笔记3:最优化问题之线性规划_第28张图片
    • 查看结果发现左下角底行元素为非负,则接下来可以着手解决右上角有负元素的问题了,则需要用对偶单纯形法,使用完对偶单纯形法后得到:数学建模理论自制笔记3:最优化问题之线性规划_第29张图片
    • 此时的结果已经满足4点了,得到最优解为,去掉另外设的松弛变量后最优解为,最优值为。

你可能感兴趣的:(数学建模,数学)