Advertisment

Stalking the perfect schedule

author-image
DQI Bureau
New Update

As head of IBM's

Optimization Center, Brenda Dietrich spends her days solving some

of the hardest problems known to mathematics. Optimization problems-questions

of how best to allocate resources to tasks-come in many guises,

from managing workflow in a factory to setting rates for overnight

delivery services. The difficulty of the problem depends on how

the tasks consume resources.



Advertisment

Optimization

problems get especially hairy when the answer must be expressed

as an integer-that is, when a fractional answer, such as 'half a

worker' or 'two-thirds of a widget', doesn't make sense. Solving

such 'integer programming' problems often requires listing all possible

arrangements. Outwardly similar arrangements can have radically

different outcomes-which may be so numerous that they exceed the

number of particles in the universe. Much of the Deep Computing

that goes on in the Optimization Center is devoted to obviating

the need to list most of the possible solutions.



A classic integer

programming problem that Dietrich's group works on is matching airline

crews with flights. 'Crew pairing', as the exercise is known, can

entail a complex tour of cities, taking into account union rules,

FAA regulations on how long pilots must sleep and the need to give

crew members time to get from one flight to another. Most important,

these schedules must cost the airlines as little overtime as possible,

since pilots' salaries are the biggest expenditure an airline can

control.



Dietrich's group

recently solved the largest pairing problem in history. Southwest

Airlines is not the biggest carrier in the world, but because its

fleet consists entirely of 737s, an unusally large pool of crew

members are qualified for duty on a single type of plane. The human-generated

solutions were good enough, but the scheduler was working at the

limits of human ability. As the airline grew, however, the monthly

schedule took more than a month to compile.



Advertisment

Using standard

linear programming techniques on the Southwest problem would have

taken hundreds of hours, far too long to make practical decisions.

So Ranga Anbil, Manager, Network Logistics and Francisco Barahona,

a researcher in Dietrich's group, came up with an approximate solution

they call the volume algorithm. "It doesn't get the exact answer,"

Anbil explains, "but it gets close enough that you can use

it to jump-start the more standard linear programming algorithms.

And that speedup was enough to allow us to solve the Southwest problem

in reasonable time." When the airline hired IBM it was not

looking to save money, only to generate timely schedules.



Using the new

system it did both, saving millions in crew costs.



Unfortunately, the Southwest solution is not directly transferable
to other airlines. "The reason for that lies at the heart of

Deep Computing," says Avi Harpaz, a researcher at IBM's Haifa

Research Laboratory who has developed a crew-pairing program for

Israel's El Al airlines. "Because these kinds of problems are

so difficult, you must hand-tune each one to get an optimum solution."




By using Haifa's

trip-planning and crew-scheduling algorithms, El Al has been able

to save 4 to 5% of its variable costs, such as overtime, crew transport

and hotel expenses. And the benefits flow through the entire organization,

Harpaz points out. As the airlines gain a better understanding of

the problem, they can experiment with 'what if' scenarios. At the

same time, the human experts can devote time to fine-tuning the

schedules produced by the program and to handling issues that are

not reflected in the set of rules used by the algorithms.



Advertisment

Another group

at Haifa has been working on personnel scheduling for call centers.

The goal is to maintain a uniform level of service, but the peaks

in call volume are not always predictable. Moreover, the workers

have to be scheduled by shift rather than by peak call volumes.



The solution,

which started with the requirements that 90% of the calls be answered

within 30 seconds, has several components, says team leader David

Bernstein. First, the frequency of calls is calculated from historical

data. Based on the length of an average call and factors such as

the length of breaks, the number of people needed for each period

is computed. Then, taking into account the number of hours a person

could work, the solution finds an optimal number of shifts. Finally,

people are assigned to shifts, a step that reflects individual constraints

such as child care and outside classes. Thanks to the scheduling

system, staff utilization is up 5% and the weekly planning process-which

formerly took two or three days of an expert's time-now takes two

or three hours and can be done by a nonspecialist.



So what makes

optimization a Deep Computing problem? For Dietrich, a problem must

pass two tests-"Is it hard? And is it important? I want to

be working on important hard problems. Problems that have the potential

to change the way business is done."

Advertisment