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/ 分布式事务 分布式事务简介 分布式事务是指会涉及到操作多个数据库(或 ...
随机推荐
- .NET Core中的AOP
1.AOP的应用场景 AOP全称Aspect Oriented Progarmming(面向切面编程),其实AOP对ASP.NET程序员来说一点都不神秘,你也许早就通过Filter来完成一些通用的功能 ...
- 使用logback需要导入的jar包
jar包名 logback-access-1.1.2.jar logback-classic-1.1.2.jar logback-core-1.1.2.jar slf4j-api-1.7.25.jar ...
- pandas用到的知识点总结
pandas中文学习官网地址 https://www.pypandas.cn/ 我自己用到的知识点汇总 基础版: dates = pd.date_range('20130101', periods=6 ...
- 查询某数据库的某字段存在于哪些表 mysql
select column_name,column_comment,data_type ,table_name from information_schema.columns where table ...
- uiautomator2自动化工具的下载与安装
前言: 相信很多使用appium做过APP自动化的人都深有感触: 1,安装麻烦,配置环境可能会难道不少人 2,appium运行慢.时间长 3,uiautomatorviewer定位元素时得关掉appi ...
- token能放在cookie中吗
能. token一般是用来判断用户是否登录的, 它内部包含的信息有: uid(用户唯一的身份标识). time(当前时间的时间戳). sign(签名,token 的前几位以哈希算法压缩成的一定长度的十 ...
- 关于*p++的执行顺序
不确定*p++哪个优先级高了,想偷懒到百度找找解释,发现高赞的评论下也骂声一片,还是回头自己试试. 1 #include <iostream> 2 using namespace std; ...
- Centos7 服务器安装jdk
给自己留个步骤 有些centos系统会自带openjdk,我们需要先卸载 首先输入java -version,验证是否有安装jdk 如果有,接着输入rpm -qa | grep java 来显示jd ...
- Vue3 流程图组件库 Vue Flow 简单使用
官网 Vue Flow 官网 Vue Flow GitHub 安装 npm i --save @vue-flow/core yarn add @vue-flow/core pnpm i @vue-fl ...
- Flink笔记
高可用(HA):直白来说就是系统不会因为某台机器,或某个实例挂了,就不能提供服务了.高可用需要做到分布式.负载均衡.自动侦查.自动切换.自动恢复等. 高吞吐: 单位时间内,能传输的数据量,对应指标就是 ...