GitHub

@@ -373,7 +373,7 @@ The above warning message from SciPy points out that A is not full rank.

373373374374

This indicates that the linear program has been set up to include one or more redundant constraints.

375375376-

Here, the source of the redundancy is that the set of restrictions {eq}`sumconstraints`.

376+

Here, the source of the redundancy is the structure of restrictions {eq}`sumconstraints`.

377377378378

Let's explore this further by printing out $A$ and staring at it.

379379

@@ -554,7 +554,7 @@ and $v$ is attached to constraints

554554555555

* $(\mathbf{I}_n \otimes \mathbf{1}_m') \operatorname{vec}(X) = q.$

556556557-

Components of the vectors $u$ and $v$ of **values** are **shadow prices** of the quantities appearing on the right sides of those constraints.

557+

Components of the vectors $u$ and $v$ of per unit **values** are **shadow prices** of the quantities appearing on the right sides of those constraints.

558558559559

We can write the dual problem as

560560

@@ -626,7 +626,8 @@ linprog(-b[:-1], A_ub=A[:-1].T, b_ub=C_vec,

626626627627

### Interpretation of dual problem

628628629-

By **strong duality**, we know that:

629+

By **strong duality** (please see this lecture

630+

{doc}`Linear Programming <lp_intro>`), we know that:

630631631632

$$

632633

\sum_{i=1}^m \sum_{j=1}^n c_{ij} x_{ij} = \sum_{i=1}^m p_i u_i + \sum_{j=1}^n q_j v_j

Read the original on github.com ↗