zoukankan      html  css  js  c++  java
  • 从线性规划到单纯形法的求解

    1. 线性规划的标准问题

    首先来看线性规划的标准问题:

    mins.t.cTxAx=b,xi0

    ARm×n,xRn,cRn,且要求 Rank(A)=mA 是行满秩矩阵)。

    下面是一些基本概念的定义:

    BA 中任意非奇异的 m×m 阶子矩阵(|B|0),则称 B 为此规划的一个基,令 B=(Pj1,,Pjm),下标 {j1,j2,,jm}{1,2,,n},对应的记 xB={xj1,xj2,,xjm} 为基变量,其余为非基变量。

    令非基变量均为 0,则有:

    Bxb=b

    一些概念:

    • 基本解:xN=0,xB=B1b(这样记,由基构成的解)
    • 可行解:若最终求得的向量 x 满足约束,Ax=b,x0,这样的解为可行解(或叫容许解);
    • 基本可行解:同时满足基本解,可行解的解,也即 xN=0,xB=B1b0 的为基本可行解;

    2. 判别定理

    BxB+NxN=bxB=B1bB1NxN

    根据 A=(B,N) 的拆分形式,对其做进一步的推导:

    x0====cTx(cTB,cTN)(xBxN)cTBxB+cTNxNcTBB1b(cTBB1NcTN)xN

    因为 cTBB1 常常出现,又进一步称其为单纯性子。对上式移项调整,进一步可得:

    x0+(cTBB1NcTN)xN=cTBB1b,(cTBB1BcTB)xB=0x0+(cTBB1BcTB)xB+(cTBB1NcTN)xN=cTBB1bx0+(cTBB1AcT)x=cTBB1b

    B 为线性规划的一个基,若 B1b0,且有 cTBB1AcT0,则对应于 B 的基本解式必是线性规划问题的最优解。

    • B1b0 ⇒ 基本可行解;
    • cTBB1AcT0x0cTBB1b

    3. 单纯形表

    单纯形表与基向量 B 有关,

    T(B)=[cTBB1bB1bcTBB1AcTB1A]

    其中:

    • cTBB1b 是标量;
    • cTBB1AcT 是行向量;
    • B1b 是列向量;
    • B1A 是矩阵;
  • 相关阅读:
    开源数据库
    深度学习TensorFlow笔记——学习率
    深度学习TensorFlow笔记——损失函数
    深度学习TensorFlow笔记
    Oracle常用内置函数
    Oracle数据库自带表或者视图
    Oracle数据库查询所有关键字
    IP代理网址
    时间、日历(time、calendar、datatime)
    selenium常用操作
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421431.html
Copyright © 2011-2022 走看看