LP两阶段法(一阶段)
\begin{equation}\begin{aligned}
\min \quad & z=\mathbf{c}^{T} \mathbf{x} \\
\text { s.t. } & \mathbf{A} \mathbf{x}=\mathbf{b} \\
& \ell \leq \mathbf{x} \leq \mathbf{u}
\end{aligned}\end{equation}
The types of the components
of x are defined as

\begin{equation}
\begin{aligned}
&\mathcal{U}=\left\{k: k \in \mathcal{R}, x_{k}=u_{k}\right\}\\
&\mathcal{M}=\left\{i: x_{k_{i}}<0, i \in \mathcal{I}_{0} \cup \mathcal{I}_{1} \cup \mathcal{I}_{2}\right\}\\
&\mathcal{P}=\left\{i: x_{k_{i}}>u_{k_{i}}, i \in \mathcal{I}_{0} \cup \mathcal{I}_{1}\right\}\\
&\mathcal{F}=\mathcal{I} \backslash(\mathcal{M} \cup \mathcal{P})
\end{aligned}
\end{equation}
Using notation $\beta = x_{\mathcal{B}}$ we can simplify the reference to basic variables. As a measure of infeasibility we use the negative of the sum of violations:
$$w=\sum_{i \in \mathcal{M}} \beta_{i}-\sum_{i \in \mathcal{P}}\left(\beta_{i}-v_{i}\right)$$
Obviously, $w \geq 0$. If $w = 0$ then both $\mathcal{M}$ and $\mathcal{P}$ are empty and the
solution is feasible.
So it is translated into
\begin{equation}\begin{aligned}
\max \quad & w \\
\text { s.t. } & \mathbf{A x}=\mathbf{b} \\
& \ell \leq \mathbf{x} \leq \mathbf{u}
\end{aligned}\end{equation}
We can investigate how feasibility of the basis is affected if a nonbasic
variable is displaced by t in the feasible direction. First, assume the
displacement is nonnegative, $t \geq O$. The i-th basic variable as a function of t is
$$\beta_{i}(t)=\beta_{i}-t \alpha_{q}^{i}$$
$\boldsymbol{\alpha}_{q}=\mathbf{B}^{-1} \mathbf{a}_{q}, \boldsymbol{\beta}=\mathbf{B}^{-1} \mathbf{b}_{\mathcal{U}}, \boldsymbol{\beta}(t)=\mathbf{x}_{\mathcal{B}}(t)$.
Given $\mathcal{M} \cup \mathcal{P} \neq \emptyset$ and $j \in \mathcal{R}$ with . w can be
improved by increasing the value of $x_{j}$ only if
$$d_{j}=\sum_{i \in \mathcal{M}} \alpha_{j}^{i}-\sum_{i \in \mathcal{P}} \alpha_{j}^{i}<0$$
If the infeasibility sets M and P remain unchanged only for t = 0
then the basis is degenerate.
A feasible displacement of a variable can also be negative. In this
case, w can be improved by decreasing Xj if $d_j >0$.
Define vector h with components
$$h_{i}=\left\{\begin{array}{ll}
1, & \text { if } i \in \mathcal{M} \\
-1, & \text { if } i \in \mathcal{P} \\
0, & \text { otherwise }
\end{array}\right.$$
It is easy to see that
$$d_{j}=\mathbf{h}^{T} \boldsymbol{\alpha}_{j}=\mathbf{h}^{T} \mathbf{B}^{-1} \mathbf{a}_{j}$$
just like the
phase-2 simplex multiplier $\pi$, by
$$\boldsymbol{\phi}^{T}=\mathbf{h}^{T} \mathbf{B}^{-1}$$
Define
$$\begin{array}{l}
K^{-}=\left\{\begin{array}{ll}
0, & \text { if } K \geq 0 \\
K, & \text { if } K<0
\end{array}\right. \\
K^{+}=\left\{\begin{array}{ll}
K, & \text { if } K>0 \\
0, & \text { if } K \leq 0
\end{array}\right.
\end{array}$$
The measure of infeasibility as a function of t can be expressed as
$$\begin{aligned}
w(t) &=\sum_{i \in \mathcal{I}_{\ell}}\left[\beta_{i}(t)\right]^{-}-\sum_{i \in \mathcal{I}_{u}}\left[\beta_{i}(t)-v_{i}\right]^{+} \\
&=\sum_{i \in \mathcal{I}_{\ell}}\left[\beta_{i}-t \alpha_{i}\right]^{-}-\sum_{i \in \mathcal{I}_{u}}\left[\beta_{i}-t \alpha_{i}-v_{i}\right]^{+}
\end{aligned}$$
where $\mathcal{I}_{\ell}=\mathcal{I}_{0} \cup \mathcal{I}_{1} \cup \mathcal{I}_{2}$ (index set of basic variables with 0 lower bound) and $\mathcal{I}_{u}=\mathcal{I}_{0} \cup \mathcal{I}_{1}$
(basic variables with finite upper bound).
Analysis of w(t)





The contribution of the $\beta_{i}(t)$ to $w(t)$ is illustrated
in figures 9.4, 9.5 and 9.6.
When t moves away from 0 in the positive direction the first change in
the feasibility status of one of the basic variables occurs when t reaches
the first break point. It is the smallest of the ratios defined in (9.87) and
(9.88). Since we want to pass this point and want to do further steps we
assume that the break points are sorted into ascending order:
$$0 \leq t_{1} \leq \cdots \leq t_{S}$$
t if $x_q$ is the selected improving variable
coming in from lower bound then the rate of change of $w(t)$ is $-d_q$. Therefore, in the [0, tIl interval w(t) increases by -dqtl.
Denoting
$$r_{1}=-d_{q}=-\left(\sum_{i \in \mathcal{M}} \alpha_{i}-\sum_{i \in \mathcal{P}} \alpha_{i}\right)$$
$$r_{k+1}=r_{k}-\left|\alpha_{j_{k}}\right|, \quad k=1, \ldots, S$$
The maximum of w(t) is defined by index s for which
$$\begin{array}{lll}
r_{s}>0 & \text { and } & r_{s+1} \leq 0
\end{array}$$
$$w\left(t_{k}\right)=w\left(t_{k-1}\right)+\left(t_{k}-t_{k-1}\right) r_{k}, \quad k=1, \ldots, s$$
LP两阶段法(一阶段)的更多相关文章
- 分布式事务 & 两阶段提交 & 三阶段提交
可以参考这篇文章: http://blog.csdn.net/whycold/article/details/47702133 两阶段提交保证了分布式事务的原子性,这些子事务要么都做,要么都不做. 而 ...
- javaScript 变量提升 var let const,以及JS 的解析阶段和执行阶段
我们先来看一道面试题,大家猜想一下,下面这段代码,打印出来的结果是什么 var name = 'World!'; (function () { if (typeof name === 'undefin ...
- PHP程序员的技术成长规划 第一阶段:基础阶段
第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作)目标:能够完成基本的LNMP系统安装,简单配置维护:能够用PHP源码做基本的简单系统的PHP开发:能够在PHP中 ...
- 分布式事务解决方案(一) 2阶段提交 & 3阶段提交 & TCC
参考文档:http://blog.jobbole.com/95632/https://yq.aliyun.com/articles/582282?spm=a2c4e.11163080.searchbl ...
- web测试一般分为那几个阶段,哪些阶段是可以用工具实现的,都有些什么工具,哪些阶段必须要人工手动来实现呢?
这是我在知乎上遇到的一个问题: web测试一般分为那几个阶段,哪些阶段是可以用工具实现的,都有些什么工具,哪些阶段必须要人工手动来实现呢? 首先这个提问本身就是有问题的, 没有哪个阶段是用工具实现的, ...
- MT【168】还是两根法
设二次函数$f(x)=ax^2+bx+c(a>0)$,方程$f(x)=x$的两根$x_1,x_2$满足$0<x_1<x_2<\dfrac{1}{a}$,(Ⅰ)当$x\in(0, ...
- PHP程序员的技术成长规划 第三阶段:高级阶段
第三阶段:高级阶段 (高级PHP程序员)重点:除了基本的LNMP程序,还能够在某个方向或领域有深入学习.(纵深维度发展)目标:除了能够完成基本的PHP业务开发,还能够解决大部分深入复杂的技术问题,并且 ...
- rest_famework 增删改查初第三阶段(高级,此阶段是优化第二阶段的代码)的使用
url: re_path('authors/$', views.AuthorView.as_view()), re_path('book/(?P<pk>\d+)/$', views.Boo ...
- rest_famework 增删改查初第四阶段(最高级,此阶段是优化第三阶段的代码)的使用
两个url 共用一个视图 url url(r'^books/$', views.BookViewSet.as_view({"get":"list"," ...
- 分布式事务(一)两阶段提交及JTA
原创文章,同步发自作者个人博客 http://www.jasongj.com/big_data/two_phase_commit/ 分布式事务 分布式事务简介 分布式事务是指会涉及到操作多个数据库(或 ...
随机推荐
- vue 打开页面触发事件
vue中created(),mounted()与activated()区别及应用 created():在创建vue对象时,当html渲染之前就触发:但是注意,全局vue.js不强制刷新或者重启时只创建 ...
- JS学习-Canvas
Canvas Canvas API 提供了一个通过JavaScript 和 HTML的<canvas>元素来绘制图形的方式.它可以用于动画.游戏画面.数据可视化.图片编辑以及实时视频处理等 ...
- Java数组之三种初始化及内存分析
内存分析 Java内存 堆: 1.存放new的对象和数组 2.可以被所有的线程共享,不会存放别的对象引用 栈: 1.存放基本变量类型(会包含这个基本类型的具体数值) 2.引用对象的变量(会存放这个引用 ...
- Oracle数据库简单常用语句
简单常用语句: 登录超级用户 sqlplus / as sysdba; 登录普通用户 connect username/password; 显示当前用户名 show user; 查询所有用户名 sel ...
- Mocha and Stars
Mocha and Stars 题意 给定 \(n,m\) ,问符合下定条件的数列有多少个: 对于\(a_i(1\le i\le n)\),\(a_i\in [l_i,r_i]\cap \mathbb ...
- 射频识别技术(RFID)
概述: 无线射频识别即射频识别技术(Radio Frequency Identification,RFID),是自动识别技术的一种,通过无线射频方式进行非接触双向数据通信,利用无线射频方式对记录媒体( ...
- Linux C语言编程基础
Linux C语言编程基础 选择教材第二章的一节进行编程基础练习 二叉树广度优先遍历(链队) 算法: "head.h" #ifndef _head_h_ #define _head ...
- Flutter在iOS中一些点
1. ios对Flutter有如下依赖 Flutter.framework: Flutter engine等: APP.framework:业务代码, 由dart代码生成.App.framew ...
- SQL注入绕过某waf的详细过程。
0x00起因 看到大家都有绕waf的payload,想了想,这样下去不行啊.总不能找人家要吧,于是我开启了电脑,开始我的bypass之路. 0x01过程 准备完毕后,开始,首先判断注入and 1=1 ...
- select * into,insert into,create table
SELECT * INTO Table2 FROM Table1要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中 INSERT I ...