8
$\begingroup$

I'm using GLPK to solve an LP.
I use it through its standalone solver, that I call with the glpsol command, and I get the solution detail written in a file using the -o/--output option.

I have no problem parsing the file to recover the actual solution, but I'm wondering what is the meaning of the "marginal" column.
Here is what the output file looks like:

Problem:    
Rows:       60
Columns:    9821
Non-zeros:  405355
Status:     OPTIMAL
Objective:  obj = 1.355170551 (MINimum)

   No.   Row name   St   Activity     Lower bound   Upper bound    Marginal
------ ------------ -- ------------- ------------- ------------- -------------
     1 r.9825       B        1.07478             1               
     2 r.17470      NL             1             1                   0.0287012 
     3 r.24250      B        1.23575             1               
     4 r.31488      NL             1             1                       < eps
     5 r.38796      B         1.0038             1               
     6 r.44423      B        1.03857             1               
     7 r.50832      NL             1             1                   0.0109038 
     8 r.57288      NL             1             1                   0.0233011 
// some more rows ......

   No. Column name  St   Activity     Lower bound   Upper bound    Marginal
------ ------------ -- ------------- ------------- ------------- -------------
     1 Z1           NL             0             0                    0.233221 
     2 Z2           NL             0             0                    0.174953 
     3 Z3           NL             0             0                    0.157688 
     4 Z4           NL             0             0                    0.164336 
     5 Z5           NL             0             0                     0.20934 
     6 Z6           NL             0             0                    0.124799 
[ .... ]
   237 Z237         NL             0             0                   0.0686442 
   238 Z238         NL             0             0                    0.159257 
   239 Z239         B      0.0424075             0               
   240 Z240         NL             0             0                   0.0370097 
   241 Z241         NL             0             0                    0.324198 
[ .... ]

The actual values I'm looking for are actually referred to as "activity" (my decision variables being the Zn).
But what does marginal represent? And, while I'm here, why are the solution values called activity (there must be a historical/theoretical reason, and I'm interested)?

$\endgroup$
8
$\begingroup$

According to GLPK Wikibook page, "marginal" shows the reduced cost of your variable.

About why the primal values of the variables are called activity, my guess is the following quote from the reference manual for GLPK (page 93):

... Since the variable being analyzed is non-basic, its activity, which is equal to its active bound, also starts changing...

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.