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/ 分布式事务 分布式事务简介 分布式事务是指会涉及到操作多个数据库(或 ...
随机推荐
- leetcode 814. 二叉树剪枝 【时间击败100.00%】【 内存击败84.62%】
1 public TreeNode pruneTree(TreeNode root) { 2 dfs(root,null,-1); 3 return root; 4 } 5 6 public void ...
- Carthage 使用介绍
1.安装 Carthage 安装 brew install carthage 检测当前版本 carthage version 升级至最新版本 brew upgrade carthage 2.如果更新出 ...
- Unity中的批处理优化与GPU Instancing【转】
我们都希望能够在场景中投入一百万个物体,不幸的是,渲染和管理大量的游戏对象是以牺牲CPU和GPU性能为代价的,因为有太多Draw Call的问题,最后我们必须找到其他的解决方案.在本文中,我们将讨论两 ...
- MySQL8.0的下载、安装、配置
转1: MySQL8.0的下载.安装.配置 MySQL8安装教程(下载.安装.连接.卸载) Navicat Premium 15激活(含注册机)
- Mysql修改字段类型修改
Mysql修改字段类型与长度修改等 alter table news modify column title varchar(130); alter table 表名 modify column 字段 ...
- node.js发送短信验证码(附带60秒倒计时插件)
推荐一个简单且功能齐全的发送短信验证码接口1.安装下载后的SDK只包含一个zhenzisms.js文件,直接导入到工程中即可使用.下载 2.用法引入模块 const zhenzismsClient = ...
- 医学分割 不确定性 2019 MICCAI
z今天分享一篇发表在MICCAI 2019上的论文: Uncertainty-aware Self-ensembling Model for Semi-supervised 3D Left Atriu ...
- OpenGL_Extension_Viewer
使用OpenGL,查验一下我电脑显卡的相关配置
- springboot[2.3.4.RELEASE]application.properties常用配置
常用配置 spring.profiles.active=@spring.profiles.active@ pom文件中定义的配置文件 server.port=8080 web默认访问端口 server ...
- 六、js创建页码器:分页、上一页下一页、省略页码
表格数据太多,需要做成分页.因此需要写一个页码器. 1,初始化页码 获取数据之后渲染页码器,页码器初始化,小于6页的全部展示,否则展示前四页,后面是省略号,最后展示尾页.默认选中第一页,禁用前一页的箭 ...