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 是矩阵;
  • 相关阅读:
    oracle timestamp的转换
    sql总结
    shell命令记录一些
    练手之 合并排序
    jquery的笔记
    jquery的几个小例子
    【转】JQUERY相关的几个网站
    hibernate spring sturts2配置
    oracle积累继续
    2018.8.21 2018暑假集训之方格取数
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421431.html
Copyright © 2011-2022 走看看