Linear Programming Learning Notes (3) Degeneracy
来源:互联网 发布:linux lo网卡 编辑:程序博客网 时间:2024/06/05 19:48
Linear Programming Learning Notes (3) Degeneracy
All the resources come from Linear Programming: Foundations and Extensions by Professor Robert J. Vanderbei.
Explore the link below for further information:
LP Book Resources
Part 1
Basic Theory: The Simplex Method and Duality
Chapter 3 Degeneracy
Definition
We say a dictionary is degenerate if
Problem arise when a degenerate dictionary produces degenerate pivots. A pivot is a degenerate pivot if one of the ratios in the calculation of the leaving variable is
Example
As
It is usual typical that it can “break away” from the degeneracy. The real danger is that the simplex method will make a sequence of degenerate pivots and eventually return to a dictionary that has appeared before, which is called cycling .
It has been shown that if a problem has an optimal solution but cycles off-optimum, then the problem must involve dictionaries with at leat four(un-slack) variables and two constraints. If the simplex method cycles, then all the pivots within the cycle must be degenerate.
Also, there is a Theorem3.1 stating that:
If the simplex method fails to terminate, then it must cycle.
The problem of cycling is not as that common. Also, computer implementations of the simplex method written with floating point numbers can avoid this, because a zero will generally show up not as an exact zero but rather as a very small number. Therfore, the dictionary appears to be slightly off from actually being degenerate.
To solve the problem of cyclings, we can use a method similar to what the floating point numbers do, which is The Perturbation/Lexicographic Method.
The Pertubation/Lexicographic Method
We can write down a series of fixed perturbation for each constraint as:
For example, consider the following degenerate dictionary:
The first step is to introduce symbolic parameters:
to get a perturbed problem:
Treating the
Then we simply drop the symbolic
Theorem3.2:
The simplex method always terminaes provided that the leaving variable is selected by the lexicographic rule.
Bland’s Rule
Another pivoting rule that can guarantee no cycle is called Bland’s rule. It stipulates that both the entering and the leaving variable be selected from their repective sets of choices by choosing the variable
Fundamental Theorem of Linear Programming
For and arbitrary linear program in standard form, the following statements are true:
(1)If there is no optimal solution, then the problem is either infeasible or unbounded.
(2)If a feasible solution exists, then a basic feasible solution exists.
(3)If an optimal solution exists, then a basic optimal solution exists.
Linear Programming Learning Notes (2) The Simplex Method
All the resources come from Linear Programming: Foundations and Extensions by Professor Robert J. Vanderbei.
Explore the link below for further information:
LP Book Resources
Part 1
Basic Theory: The Simplex Method and Duality
Chapter 2 The Simplex Method
An Example
maximize
s.t.
Geometry
Now we want to talk more about the geometry of several thing in LP problem. Consider, for example, the following problem:
maximize
s.t.
Each constraint stands for a halfspace, and the feasible set consists of those points in space that satisfy all five inequalities. This set is the polyhedron shown below.
Indeed, each facet corresponds precisely to some variable(either original or slack) vanishing. For instance, the front facet in the figure corresponds to
Speaking of applying the simplex method to this problem. the basic feasible solutions stand in one-to-one correspondence with the vertices of the polyhedron. We can discover that the sequence of vertices visited by the algorithm is
The example above has the nice property that everyvertex is formed by the intersection of exactly three of the facets.
But consider now the following problem:
maximize
s.t.
Look at the polyhedron of feasible solutions shown below:
The vertex
Now we can consider the geometric effect of the perturbation method for resolving degeneracy. By perturbing the right-hand sides, the corresponding planes will be moved. Then the degenerate vertices get split into multiple nearby vertices in the perturbed problem. So the degenerate problem is solved.
- Linear Programming Learning Notes (3) Degeneracy
- Linear Programming Learning Notes (1) Introduction
- Linear Programming Learning Notes (5) Duality Theory
- Linear Programming Learning Notes (2) The Simplex Method
- Concurrency programming Learning notes
- Machine Learning Notes - Linear Regression
- Machine Learning Notes ——Linear Regression
- [Machine learning 实验4]linear programming
- [Machine learning 实验4]linear programming
- Programming Exercise 1: Linear Regression Machine Learning
- Machine Learning Notes I: The Standard Linear Model
- JSP Learning Notes 3
- Machine Learning week 2 quiz: programming assignment-Linear Regression
- Linear Programming
- CS229 Lecture Notes(3): Generalized Linear Models
- HTML&CSS Learning Notes 3
- Programming notes
- Learning Notes
- 游戏服务器,每秒需要处理百来次数据库的读写操作,如何设计比较好?
- Selenium - Why there is no need of external firefox driver like IE and chrome in selenium2.0?
- C++ 类的static成员
- CSS有4种定义方式--类+ ID+ 标签+ 伪类
- 音视频开发需要的一些工具总结
- Linear Programming Learning Notes (3) Degeneracy
- windows svn命令行客户端
- Redis测试分析(pipeline模式)
- 棋牌游戏服务器架构: 详细设计(三) 数据库设计
- 第八周上机实践项目-项目三-指向学生类的指针
- iOS: ARC和非ARC下使用Block属性的问题
- PCA方法的应用场景
- jexl表达式应用
- Unity3D Terrain Settings 彻底搞懂 地形详细设置 全实验与解析 (二)base map dist