20.07.2013 Views

The Role of Software in Optimization and Operations Research

The Role of Software in Optimization and Operations Research

The Role of Software in Optimization and Operations Research

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

OPTIMIZATION AND OPERATIONS RESEARCH – <strong>The</strong> <strong>Role</strong> <strong>of</strong> S<strong>of</strong>tware <strong>in</strong> <strong>Optimization</strong> <strong>and</strong> <strong>Operations</strong> <strong>Research</strong> - Harvey J.<br />

Greenberg<br />

3. Obta<strong>in</strong><strong>in</strong>g a Solution<br />

A solution is a global optimum, or a declaration that no optimum exists, preferably with<br />

a reason, such as <strong>in</strong>feasible or unbounded. S<strong>of</strong>tware cannot guarantee that a correct<br />

conclusion is reached. One reason is computational error, caus<strong>in</strong>g <strong>in</strong>accurate results,<br />

even for l<strong>in</strong>ear programs. Some problems use only <strong>in</strong>teger arithmetic, where there is no<br />

computational error, but they are typically hard problems that cannot guarantee an<br />

accurate result due to how long it would take to consider the large number <strong>of</strong> possible<br />

solutions. It is this latter source <strong>of</strong> <strong>in</strong>accuracy, that is the cutt<strong>in</strong>g edge <strong>of</strong> optimization<br />

s<strong>of</strong>tware.<br />

Several recent surveys provide details on the current state <strong>of</strong> the art <strong>in</strong> obta<strong>in</strong><strong>in</strong>g a global<br />

optimum, draw<strong>in</strong>g from classical methods based on local search (e.g., on calculus).<br />

Because we cannot obta<strong>in</strong> exact solutions to hard problems <strong>in</strong> a practical amount <strong>of</strong><br />

time, two basic approaches have been taken: metaheuristics, such as a Tabu Search, <strong>and</strong><br />

approximation algorithms with guaranteed bounds. S<strong>of</strong>tware to implement these can<br />

make a difference <strong>in</strong> their performance (see Global <strong>Optimization</strong>).<br />

In discrete optimization some exact methods exist for special situations, like dynamic<br />

programm<strong>in</strong>g, , but the branch <strong>and</strong> bound/cut rema<strong>in</strong>s the primary exact method. It is<br />

also used <strong>in</strong> cont<strong>in</strong>uous (global) optimization, so branch <strong>and</strong> bound is a general exact<br />

method. <strong>The</strong>se typically use l<strong>in</strong>ear programm<strong>in</strong>g to solve relaxation problems for<br />

bounds, cut generation, <strong>and</strong> search guidance. <strong>The</strong> relaxations drop <strong>in</strong>teger restrictions,<br />

<strong>and</strong> l<strong>in</strong>ear functions are used to approximate nonl<strong>in</strong>ear ones (typically us<strong>in</strong>g the Taylor<br />

expansion). A s<strong>of</strong>tware issue is how fast the l<strong>in</strong>ear programs are solved when used this<br />

way. <strong>The</strong> l<strong>in</strong>ear program (LP) relaxation <strong>of</strong> a comb<strong>in</strong>atorial optimization problem has<br />

very different characteristics than a true LP, such as one that represents product<br />

distribution. This implies, for example, that the LP algorithm control parameters need<br />

adjustments from their default values s<strong>in</strong>ce they are typically tuned with test problems<br />

that are true LPs (see L<strong>in</strong>ear Programm<strong>in</strong>g, Dynamic Programm<strong>in</strong>g <strong>and</strong> Bellman's<br />

Pr<strong>in</strong>ciple , Comb<strong>in</strong>atorial <strong>Optimization</strong> <strong>and</strong> Integer Programm<strong>in</strong>g).<br />

3.1. Data structures, Controls <strong>and</strong> Interfaces<br />

Wirth's charm<strong>in</strong>g equation, Algorithms + Data Structures = Programs, is not quite<br />

enough to be a system capable <strong>of</strong> solv<strong>in</strong>g optimization problems with comput<strong>in</strong>g<br />

paradigms available <strong>in</strong> 2002. To it, we must add:<br />

Programs + Controls + Interfaces = Systems<br />

<strong>The</strong>re have always been algorithm controls, but <strong>in</strong>terfaces have become much more<br />

sophisticated, especially with graphics.<br />

Most publications <strong>in</strong> mathematical programm<strong>in</strong>g present algorithms, but very few<br />

describe the data structures. Fundamentally, an algorithm is a precise sequence <strong>of</strong> steps.<br />

We <strong>of</strong>ten refer to an algorithm family, or algorithm strategy, to mean some steps are not<br />

completely def<strong>in</strong>ed, leav<strong>in</strong>g room for tactical variations. For example, Figure 1 gives<br />

the simplex algorithm strategy that uses the 2-phase method <strong>of</strong> gett<strong>in</strong>g an <strong>in</strong>itial feasible<br />

©Encyclopedia <strong>of</strong> Life Support Systems (EOLSS)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!