最优化:建模、算法与理论(典型优化问题

第四章 典型优化问题

4.1 线性规划

4.1.1 基本形式和应用背景

再次说明一下,其实这本书很多的内容之前肯定大家都学过,但是我觉得这本书和我们之前学的东西的出发角度不一样,他更偏向数学,也多一个角度让我们去理解

线性规划问题的一般形式如下:
min ⁡ x ∈ R n c T x s . t . A x = b G x ≤ e (4.1.1) \min_{x{\in}R^n}c^Tx \\ s.t. {\quad}Ax=b \\ Gx{\le}e\tag{4.1.1} xRnmincTxs.t.Ax=bGxe(4.1.1)
其中 c ∈ R n , A ∈ R m × n , b ∈ R m , G ∈ R p × n , e ∈ R p c{\in}R^n,A{\in}R^{m \times n},b{\in}R^m,G{\in}R^{p \times n},e{\in}R^p cRn,ARm×n,bRm,GRp×n,eRp是给定的矩阵和向量, x ∈ R n x{\in}R^n xRn是决策变量,在实际中,我们考虑问题(4.1.1)的两种特殊形式(其他形式都可以转化为这两种形式),标准型(等式约束和决策变量非负):
min ⁡ x ∈ R n c T x , s . t . A x = b , x ≥ 0 , (4.1.2) \min_{x{\in}R^n}c^Tx, \\ s.t.{\quad}Ax=b, \\ x{\ge}0,\tag{4.1.2} xRnmincTx,s.t.Ax=b,x0,(4.1.2)
以及不等式型(没有等式约束):
min ⁡ x ∈ R n c T x s . t . A x ≤ b (4.1.3) \min_{x{\in}R^n}c^Tx \\ s.t. {\quad}Ax{\le}b\tag{4.1.3} xRnmincTxs.t.Axb(4.1.3)
线性规划最先在第二次世界大战时被提出(了解一下也蛮有意思的哈哈)

4.1.2 应用举例

1.运输问题

I I I个港口 P 1 , P 2 , ⋯   , P I P_1,P_2,\cdots,P_I P1,P2,,PI提供某种商品,有 J J J个市场 M 1 , M 2 , ⋯   , M J M_1,M_2,\cdots,M_J M1,M2,,MJ需要这种商品,假设港口 P i P_i Pi s i s_i si单位的这种商品,市场 M j M_j Mj需要 r j r_j rj单位的这种商品,且总供应和总需求相等,即 ∑ i = 1 I s i = ∑ j = 1 J r j \sum_{i=1}^Is_i=\sum_{j=1}^Jr_j i=1Isi=j=1Jrj,令 b i j b_{ij} bij为从港口 P i P_i Pi运输单位数量商品到市场 M j M_j Mj的成本,运输问题是在满足市场需求下使得运输成本最低
x i j x_ij xij为从港口 P i P_i Pi运输到市场 M j M_j Mj的商品数量,总运输代价为
∑ i = 1 I ∑ j = 1 J x i j b i j (4.1.4) \sum_{i=1}^I\sum_{j=1}^Jx_{ij}b_{ij}\tag{4.1.4} i=1Ij=1Jxijbij(4.1.4)
港口 P i P_i Pi总输出量为 ∑ j = 1 J x i j \sum_{j=1}^Jx_{ij} j=1Jxij,因为港口 P i P_i Pi存有的商品总量为 s i s_i si,所以
∑ j = 1 J x i j = s i , i = 1 , 2 , ⋯   , I (4.1.5) \sum_{j=1}^Jx_{ij}=s_i,i=1,2,\cdots,I\tag{4.1.5} j=1Jxij=si,i=1,2,,I(4.1.5)
市场 M j M_j Mj总输入量为 ∑ i = 1 I x i j \sum_{i=1}^Ix_{ij} i=1Ixij,因为市场 M j M_j Mj的需求量为 r j r_j rj,所以
∑ i = 1 I x i j = r j , j = 1 , 2 , ⋯   , J (4.1.6) \sum_{i=1}^Ix_{ij}=r_j,j=1,2,\cdots,J\tag{4.1.6} i=1Ixij=rj,j=1,2,,J(4.1.6)
因为运输是非负的,所以
x i j ≥ 0 , i = 1 , 2 , ⋯   , I , j = 1 , 2 , ⋯   , J (4.1.7) x_{ij}{\ge}0,i=1,2,\cdots,I,j=1,2,\cdots,J{\tag{4.1.7}} xij0,i=1,2,,I,j=1,2,,J(4.1.7)
所以我们只需要极小化总运输代价和满足约束条件就好了,整理一下就是
min ⁡ x ∑ i = 1 I ∑ j = 1 J x i j b i j s . t . ∑ j = 1 J x i j = s i , i = 1 , 2 , ⋯   , I ∑ i = 1 I x i j = r j , j = 1 , 2 , ⋯   , J x i j ≥ 0 , i = 1 , 2 , ⋯   , I , j = 1 , 2 , ⋯   , J \min_x\sum_{i=1}^I\sum_{j=1}^Jx_{ij}b_{ij} \\ s.t.{\quad}\sum_{j=1}^Jx_{ij}=s_i,i=1,2,\cdots,I \\ \sum_{i=1}^Ix_{ij}=r_j,j=1,2,\cdots,J \\ x_{ij}{\ge}0,i=1,2,\cdots,I,j=1,2,\cdots,J xmini=1Ij=1Jxijbijs.t.j=1Jxij=si,i=1,2,,Ii=1Ixij=rj,j=1,2,,Jxij0,i=1,2,,I,j=1,2,,J
这个问题还有更一般的版本,即最优运输问题,它是关心两个(离散、连续)测度的对应关系,也就是距离嘛,这个具体问题具体分析把,大差不差的

你可能感兴趣的:(算法)