Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>Heuristics (and/or checklists) to decide if the problem at hand is really a Linear Program.</strong> </p> <p>Here's my attempt at answering, and I have also tried to outline how I'd approach this problem.</p> <p><strong>Questions that indicate that a given problem is suitable to be formulated as an LP/IP:</strong></p> <ol> <li>Are there decisions that need to be taken regularly, at different time intervals? </li> <li>Are there a number of resources (workers, machines, vehicles) that need to be assigned tasks? (hours, jobs, destinations) </li> <li>Is this a routing problem, where different "points" have to be visited? </li> <li>Is this a location or a "layout" problem? (Whole class of Stock-cutting problems fall into this group)</li> </ol> <p>Answering yes to these questions means that an LP formulation might work.</p> <p><strong>Commonly encountered LP's</strong> include: Resource allocation.: (Assignment, Transportation, Trans-shipment, knapsack) ,Portfolio Allocation, Job Scheduling, and network flow problems. <a href="http://homepages.rpi.edu/~mitchj/handouts/lp/lp.pdf">Here's a good list of LP Applications</a> for anyone new to LPs or IPs. That said, there are literally 1000s of different types of problems that can be formulated as LP/IP. The people I've worked with (researchers, colleagues) develop an intuition. They are good at recognizing that a problem is a certain type of an Integer Program, even if they don't remember the details, which they can then look up.</p> <p><strong>Why this question is tricky to answer:</strong> There are many reasons why it is not always straightforward to know if an LP formulation will cut it.</p> <ol> <li>There is a lot of "art" (subjectivity) in the approach to modeling/formulation.</li> <li>Experience helps a lot. People get good at recognizing that this problem can be "likened" to another known formulation</li> <li>Even if a problem is not a straight LP, there are many clever <em>master-slave techniques</em> (sub-problems), or <em>nesting techniques</em> that make the overall formulation work.</li> <li>What looks like multiple objectives can be combined into one objective function, with an appropriate set of weights attached.</li> <li>Experienced modelers employ <em>decomposition</em> and <em>constraint-relaxation</em> techniques and later compensate for it.</li> </ol> <p><strong>How to Proceed to get the basic formulation done?</strong></p> <p>The following has always steered me in the right direction. I typically start by listing the Decision Variables, Constraints, and the Objective Function. I then usually iterate among these three to make sure that everything "fits."</p> <p>So, if you have a problem at hand, ask yourself:</p> <ul> <li><strong>What are the Decision Variables (DV)?</strong> I find that this is always a good place to start the process of formulation. How many <em>types</em> of DV's are there? (Which resource gets which task, and when should it start?) </li> <li><strong>What are the Constraints?</strong><br> Some constraints are very readily visible. Others take a little bit of teasing out. The constraints have to be written in terms of your decision variables, and any constants/limits that are imposed.</li> <li><strong>What is the Objective Function?</strong><br> What are the quantities that need to be maximized or minimized? Note: Sometimes, it is not clear what the objective function is. That is okay, because it could well be a <em>constraint-satisfaction</em> problem.</li> </ul> <p><strong>A couple of quick Sanity Checks</strong> once you think your LP formulation is done:</p> <ol> <li>I always try to see if a trivial solution (all 0s or all big numbers) is not part of the solution set. If yes, then the formulation is most probably not correct. Some constraint is missing. </li> <li>Make sure that each and every constraint is "related"' to the Decision Variables. (I occasionally find constraints that are just "hanging out there." This means that a "<em>bookkeeping constraint</em>" has been missed.)</li> </ol> <p>In my experience, people who keep at it almost always develop the needed intuition. Hope this helps.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload