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/ 分布式事务 分布式事务简介 分布式事务是指会涉及到操作多个数据库(或 ...
随机推荐
- k3s 部署应用
部署k3s 环境 名称 ip地址 cpu 内存 k3s-master 10.65.91.53 4c 8G k3s-node 10.65.91.52 4c 8G master 与 node 节点 # 改 ...
- 5分钟上手使用vuex,vuex状态管理,vuex遇到的坑
很多刚学习vue的人对于全局变量管理工具vuex都觉得很神秘,今天就用很通俗的大白话协助大家理解一下vuex,作者的vue项目使用vue脚手架搭建的,用脚手架搭建的项目会在src文件夹下有一个stor ...
- Android studio学习第二期
layout目录下app页面布局文件 activity_main.xml的创建和跳转 activity为一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务 创建步骤 这里选择第二个xml ...
- 微信字体大小调整导致的H5页面错乱问题处理
当用户调整微信字体大小时会导致H5页面错乱,解决方案如下: ios:在css中加入-webkit-text-size-adjust: 100% !important; body { -webk ...
- 【2020NOI.AC省选模拟#6】A. zyb的监控计划
题目链接 原题解: 考虑我们需要的信息:子树里最浅的一个能向上的点是谁?子树里最深的一个没被覆盖的深度是多少? 我们记录一下$f_{i,a,b}$表示上面两个信息为$a$和$b$的时候,最少要花费的代 ...
- Java基础学习:2、Java数据类型及逻辑运算符
1.数据类型: 数据类型范围: byte:-2^7 ~ 2^7-1,即-128 ~ 127.1字节.Byte.末尾加B short:-2^15 ~ 2^15-1,即-32768 ~ 32767.2字节 ...
- Git,GitHub与GitLab的区别
Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制. GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习. GitLab是一个基 ...
- sourceTree工具使用方法
https://www.cnblogs.com/tian-xie/p/6264104.html
- Vue 二维码生成插件
1. 安装 qrcode.vue 仓库地址 // vue2 安装1.x版本.vue3 安装3.x版本 npm install --save qrcode.vue // 或 yarn add qrcod ...
- Cubemx 生成工程代码失败的原因
折腾了好久(躺)翻了很多解答试了试终于捣鼓正常了,就在这里汇总一下看到过的问题 1.文件名.工程名或者工程文件路径/库路径上有中文名 2.Cubemx的版本过高 3.java环境的版本不适配 4.可能 ...