Date: 19 Jun 1996 16:14:52 GMT
From: rubin@msu.edu (Paul A. Rubin)
Subject: Linear Goal Programming
In article ... , david wright .. wrote:
* For DOS/PC users, there is an LP and Linear Goal Programming binary called tslin, at ftp://garbo.uwasa.fi/pc/ts (the current file name is tslin34.zip, using ZIP compression), or else I suggest contacting Prof. Salmi at ts@uwasa.fi . For North American users, the garbo server is mirrored on FTP site wuarchive.wustl.edu, in directory mirrors/garbo.uwasa.fi.
Goal Programming is a way to handle multiple objectives in what would otherwise be a LP. The basic concept is to set "aspiration levels" (targets) for each objective and prioritize them. You then optimize the highest priority objective with respect to the original ("hard") constraints. You then add a constraint saying that the first objective function's value must be at least as good as what you achieved or the aspiration level, whichever is worse. Now optimize the second objective, turn that into a constraint, etc.
A key aspect of GP is that if you fail to achieve a particular goal, you won't sacrifice any of what you did achieve in that goal for any amount of improvement in a lower priority goal; but if you overachieve, you'll sacrifice all of the overachievement for even a tiny improvement in an unsatisfied goal with lower priority. For instance, suppose I set up a production problem with primary goal of generating annual profits of $1M or more, and secondary goal of keeping initial capital investment below $2M.
I first maximize profit, subject to any other constraints but ignoring capital investment. If my optimal annual profit is $900K, I add a constraint saying annual profit must always be >= $900K (or = $900K, the result will be the same), and switch to minimizing investment. But if I manage to generate $1.5M annual profit, the constraint I add is annual profit >= $1M, not $1.5M (and here it has to be >=, not =). If the $1.5M profit came with a capital investment of $2,000,001, I'll spit up the entire $500K excess profit, if necessary, to get rid of that last $1 of investment. :-(
You can set multiple aspiration levels for the same function and give them different priorities (for instance, bust butt to get at least $1M profit, lower priority to get at least $1.5M); you can give two or more goals the same priority and add their achievement levels (weighted); and you can have equality as well as inequality goals (hit a target exactly).
Hope this helps.
Paul
Crawl back to front page.