2

The usual line of argument is that since the artificial variables are introduced solely for the purpose of obtaining a basic feasible solution, and have no meaning in the context of the LP, they must be forced to be zero eventually. But what would happen if we let them be strictly positive?

As far as I can see, them being positive would not affect the feasibility of the other variables, and not including the penalty terms in the objective cannot make it worse. Would this result in infeasibility of the program or sub-optimal result somehow?

ensbana
  • 2,377

1 Answers1

2

As you mentioned, artifical variables are used to find a feasible solution.

If you don't set the penalty, then they might stay in the basis, resulting in an infeasible solution. There is equivalence between the two formulations only when the artificial variables equal $0$.

For example, if your constraint is $ x \ge 10 $ you need to add a slack variable $e$ and an artificial variable $a$: $$ x-e +a = 10 $$ Now, if $a=10$, then $x=0\not \ge 10$, which is not feasible.

Kuifje
  • 9,802
  • If $a = 10$ then $x - e = 0$, so we might still have $x \geq 10$ (and $e \geq 0$)? – ensbana Feb 02 '21 at 13:29
  • $x=0$ satisfies the equation, so depending on the other constraints (if any), and the coefficients in the cost function, $(a,x,e)=(10,0,0)$ may be a basic solution, which you do not want for the initial formulation. – Kuifje Feb 02 '21 at 13:38
  • What I’m not clear about is that we might have something like $(a,x,e) = (10,10,10)$, which satisfies both the equation $x - e + a = 10$ and the constraint $x \geq 10$, plus we’d still have $a > 0$. Why can’t this happen? – ensbana Feb 02 '21 at 13:47
  • This may happen...but it may not. And you need a 100% guarantee that you end up with a feasible solution (or a proof that one does not exist). So you need to be sure that you perform extra pivots if you have such a solution. And to be sure you can perform extra pivots, you need to set the penalty on $a$. – Kuifje Feb 02 '21 at 13:57