Google Groups Home
Help | Sign in
MODI Method and complementary slackness
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
Henrik Ziegeldorf  
View profile
 More options Aug 4, 8:21 am
Newsgroups: sci.op-research
From: Henrik Ziegeldorf <henrik.ziegeld...@googlemail.com>
Date: Mon, 4 Aug 2008 05:21:51 -0700 (PDT)
Local: Mon, Aug 4 2008 8:21 am
Subject: MODI Method and complementary slackness
Hello,

my question is generally the same one, which was asked on this group
some time ago:
------------------
I have a little problem understanding the
MODI method for solving the transportation
problem and I hope somebody can help me with it.
The MODI method regards the dual problem
to the transportation problem with variables
u_i (i=1,...,m) and v_j (j=1,...,n) corresponding
to the offer and demand constraints in the primal
(transportation) problem. In the dual problem,
the constraints are u_i + v_j <= c_ij, where
c_ij are the unit transportation costs from
place i to place j. Regarding a feasible basis
solution to the transportation problem, the MODI
method computes the possible cost decrease of
any non-basis variable by first solving
u_i + v_j = c_ij for any basis variable x_ij,
and then computing c_ij - u_i - v_j as the
possible cost reduction for any non-basis
variable x_ij. But assuming u_i + v_j = c_ij
means that the complementary slackness conditions
hold for the pair of solutions for the primal
and the dual problem. But since the primal
solution generally is not optimal at first, i.e.
after applying some heuristic to gain a starting
solution, I wonder why that assumption makes sense.
-------------

With the following answer:
------------
Suppose that you were to solve the primal problem using the simplex
method.  The reduced cost of every basic variable is zero, even though
the current basic feasible solution is suboptimal (until the last
iteration).  If we denote the constraint matrix and objective
coefficient vector by A and c respectively, and let B be the basic
submatrix of A (with inverse Binv) and c_B be the basic subvector of
c,
then the reduced cost vector is c'-y'A, where y'=c_B'Binv is a
superoptimal solution to the dual (feasible, and hence optimal, in the
final iteration).

In the case of the Hitchcock (transportation) problem, it's relatively
easy to show that the reduced cost of any variable X_ij is c_ij - u_i
-
v_j, so the MODI method uses the fact that the reduced cost of basic
variables must be zero to solve for u and v.

Note that complementary slackness *plus feasibility* implies mutual
optimality.  In intermediate stages of the MODI method, the dual
solution is infeasible (u_i + v_j > c_ij for some x_ij, one of which
will enter the basis at the next iteration), so there is no
contradiction to the current primal solution being suboptimal.
----------

After reading that answer, my questions are:
Why do we need complementary slackness at all?
      -> We can compute the u_i, v_j through the equation for reduced
costs of basic variables?
               c_ij - u_i - v_j = 0 for x_ij in basis
      -> Solution is optimal iff no x_ij has reduced costs < 0
    And that would be all we want to know.

Thanks for help,
Henrik


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Rubin  
View profile
 More options Aug 4, 11:49 am
Newsgroups: sci.op-research
From: Paul Rubin <ru...@msu.edu>
Date: Mon, 04 Aug 2008 11:49:08 -0400
Local: Mon, Aug 4 2008 11:49 am
Subject: Re: MODI Method and complementary slackness

As far as the algorithm goes, that is correct.  The original poster
invoked complementary slackness because he thought it created a
contradiction (that the MODI method was predicated on something that
implied every solution, not just the final one, was optimal).

The MODI method is really just the pricing portion of the simplex
algorithm, tailored to the specific form of the Hitchcock problem.

/Paul


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Henrik Ziegeldorf  
View profile
 More options Aug 4, 1:16 pm
Newsgroups: sci.op-research
From: Henrik Ziegeldorf <henrik.ziegeld...@googlemail.com>
Date: Mon, 4 Aug 2008 10:16:23 -0700 (PDT)
Local: Mon, Aug 4 2008 1:16 pm
Subject: Re: MODI Method and complementary slackness

> The MODI method is really just the pricing portion of the simplex
> algorithm, tailored to the specific form of the Hitchcock problem.

> /Paul

Then, hopefully, my final question is:
Why does the reduced costs compute to c_ij - u_i - v_j

I guess the answer is somewhere close to the following considerations:

The vector of reduced costs is
     c^T - c_B^T B^-1 A
for every solution x to the primal problem (optimal or not)
and we somehow can interprete c_B^T B^-1 as the values for the dual
variables y
so we can compute y , e.g. the u_i, v_j values, by solving
     c_ij - u_i - v_j = 0 for basisvariables x_ij (as they have
reduced costs = 0)

I know that for an optimal Basis B, the dual solution is just c_B^T
B^-1
but why does the interpretation of y = c_B^T B^-1 make sense for a non
optimal basis?
Or in other words, which is the meaning of  y = c_B B^-1 for a non
optimal basis?

Thanks for helping


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul Rubin  
View profile
 More options Aug 4, 5:07 pm
Newsgroups: sci.op-research
From: Paul Rubin <ru...@msu.edu>
Date: Mon, 04 Aug 2008 17:07:19 -0400
Local: Mon, Aug 4 2008 5:07 pm
Subject: Re: MODI Method and complementary slackness

Henrik Ziegeldorf wrote:

> I know that for an optimal Basis B, the dual solution is just c_B^T
> B^-1
> but why does the interpretation of y = c_B^T B^-1 make sense for a non
> optimal basis?
> Or in other words, which is the meaning of  y = c_B B^-1 for a non
> optimal basis?

It is a superoptimal, infeasible solution to the dual problem.  When y
becomes dual-feasible, the primal solution is optimal.

/Paul


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ray Vickson  
View profile
 More options Aug 4, 8:13 pm
Newsgroups: sci.op-research
From: Ray Vickson <RGVick...@shaw.ca>
Date: Mon, 4 Aug 2008 17:13:11 -0700 (PDT)
Local: Mon, Aug 4 2008 8:13 pm
Subject: Re: MODI Method and complementary slackness
On Aug 4, 10:16 am, Henrik Ziegeldorf

I am not sure I quite understand your question, or where you are
having trouble, so let me just summarize what happens. For the
transportation problem in equality-constraint form, we can get the
dual solution corresponding to any primal basis just by requiring that
each basic variable have a reduced cost equal to zero. That is, the
dual solution corresponding to a primal basis is determined by
complementary slackness: x_ij basic <---> dual constraint ij is an
equality. Why is this the case? The simplex method implies that at any
stage, the new objective equation = original objective equation + sum
w_i*(constraint equation i) for some constants w_i; in the TP case
this implies that new c_ij = c_ij - u_i - v_j for some constants u_i
(supply) and v_j (demand). We need c_ij = u_i + v_j for all basic ij,
so u_i and v_j are determined (up to an overall constant k, because
u_i + k and v_j - k gives the same result). Then, for the nonbasic ij
the reduced cost is c_ij - u_i - v_j. If these are all >= 0 we are
done: the simplex method stops at an optimal solution. However, if
some of these are < 0 we do not yet have an optimal basis although, in
the degenerate case, we might have an optimal solution. For
simplicity, assume no degenerate bases are encountered (since
degeneracy just complicates the fundamental issue at this point). I f
nonbasic variable x)ij ahas negative reduced cost, letting x_ij enter
the  basis and letting some other currently-basic variable x_pq leave
the basis will give a strict total cost improvement.  Prior to
optimality, you are working with primal feasible solutions
corresponding dual solutions are infeasible in the sense that some of
the dual constraints are violated. Once you arrive at primal
optimality, the dual solution becomes feasible as well.

R.G. Vickson


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2008 Google