a1alloy.mos
a1alloy.dat
Production of alloys
Blending problem
1
formulation of blending constraints; data with numerical indices, solution printout, if-then, getsol
Animal food production
a2food.mos
a2food.dat
Blending problem
1
formulation of blending constraints; data with string indices, as, formatted solution printout, use of getsol with linear expressions, strfmt
a3refine.mos
a3refine.dat
Refinery
Blending problem
2
formulation of blending constraints; sparse da\-ta with string indices, dynamic initialization, dynamic arrays, finalize, create, union of sets
a4sugar.mos
a4sugar.dat
Cane sugar production
Minimum cost flow (in a bipartite graph)
1
ceil, is_binary
a5mine.mos
a5mine.dat
Opencast mining
Minimum cost flow
2
encoding of arcs, solving LP-relaxation only
a6electr.mos
a6electr.dat
Production of electricity
Dispatch problem
2
inline if, is_integer
b1stadium.mos
b1stadium.dat
Construction of a stadium
Project scheduling (Method of Potentials)
3
2 problems; selection with `|', sparse/dense format, naming and redefining constraints, subroutine: procedure for solution printing, forward declaration
b2flowshop.mos
b2flowshop.dat
Flow shop scheduling
Flow shop scheduling
4
alternative formulation using SOS1, Special Ordered Sets
b3jobshop.mos
b3jobshop2.mos
b3jobshop.dat
b3jobshop2.dat
Job shop scheduling
Job shop scheduling
3
formulating disjunctions (BigM); dynamic array, range, exists, forall-do
b4seq.mos
b4seq.dat
Sequencing jobs on a bottleneck machine
Single machine scheduling
3
3 different objectives; subroutine: procedure for solution printing, if-then
b5paint.mos
b5paint.dat
Paint production
Asymmetric Traveling Salesman Problem (TSP)
3
solution printing, repeat-until, cast to integer, selection with `|', round
b6linebal.mos
b6linebal.dat
Assembly line balancing
Assembly line balancing
2
encoding of arcs, range
c1bike.mos
c1bike.dat
Planning the production of bicycles
Production planning (single product)
3
modeling inventory balance; inline if, forall-do
c2glass.mos
c2glass.dat
Production of drinking glasses
Multi-item production planning
2
modeling stock balance constraints; inline if, index value 0
c3toy.mos
c3toy.dat
Material requirement planning
Material requirement planning (MRP)
2
working with index (sub)sets, dynamic initialization, finalize, create, as
c4compo.mos
c4compo.dat
Planning the production of electronic components
Multi-item production planning
2
modeling stock balance constraints; inline if
c5fiber.mos
c5fiber.dat
Planning the production of fiberglass
Production planning with time-dependent production cost
3
representation of multi-period production as flow; encoding of arcs, exists, create, isodd, getlast, inline if
c6assign.mos
c6assign.dat
Assignment of production batches to machines
Generalized assignment problem
1
d1wagon.mos
d1wagon2.mos
d1wagon.dat
Wagon load balancing
Nonpreemptive scheduling on parallel machines
4
heuristic solution requiring sorting algorithm, formulation of maximin objective; nested subroutines: function returning heuristic solution value and sorting procedure, ceil, getsize, if-then, break, exit, all loop types (forall-do, repeat-until, while-do), setparam, cutoff value
d2ship.mos
d2ship.dat
Barge loading
Knapsack problem
2
incremental problem definition with 3 different objectives, procedure for solution printing
d3tanks.mos
d3tanks.dat
Tank loading
Loading problem
3
2 objectives; data preprocessing, as, dynamic creation of variables, procedure for solution printing, if-then-else
d4backup.mos
d4backup.dat
Backing up files
Bin-packing problem
2
2 versions of mathematical model, symmetry breaking; data preprocessing, ceil, range
d5cutsh.mos
d5cutsh.dat
Cutting sheet metal
Covering problem
1
d6cutbar.mos
d6cutbar.dat
Cutting steel bars for desk legs
Cutting-stock problem
2
set operation(s) on range sets, set of integer (data as set contents)
e1carrent.mos
e1carrent.dat
Car rental
Transport problem
3
data preprocessing, set operations, sqrt and ^2, if-then-elif
e2minflow.mos
e2minflow.dat
Choosing the mode of transport
Minimum cost flow
2
formulation with extra nodes for modes of transport; encoding of arcs, finalize, union of sets, nodes labeled with strings
e3depot.mos
e3depot.dat
Depot location
Facility location problem
3
modeling flows as fractions, definition of model cuts
e4deliver.mos
e4deliver.dat
Heating oil delivery
Vehicle routing problem (VRP)
4
elimination of inadmissible subtours, cuts; selection with `|', definition of model cuts
e5combine.mos
e5combine.dat
Combining different modes of transport
NN
3
modeling implications, weak and strong formulation of bounding constraints; triple indices
e6vanrent.mos
e6vanrent.dat
Fleet planning for vans
NN
3
maxlist, minlist, max, min
f1connect.mos
f1connect.dat
Flight connections at a hub
Assignment problem
1
f2crew.mos
f2crew.dat
Composing flight crews
Bipartite matching
4
2 problems, data preprocessing, incremental definition of data array, encoding of arcs, logical or (cumulative version) and and, procedure for printing solution, forall-do, max, finalize
f3landing.mos
f3landing.dat
Scheduling flight landings
Scheduling problem with time windows
3
generalization of model to arbitrary time windows; calculation of specific BigM, forall-do
f4hub.mos
f4hub2.mos
f4hub3.mos
f4hub.dat
Airline hub location
Hub location problem
3
quadruple indices; improved (re)formulation (first model not usable with student version), union of index (range) sets
f5tour.mos
f5tour2.mos
f5tour.dat
f5tour23.dat
f5tour7.dat
Planning a flight tour
Symmetric traveling salesman problem
5
loop over problem solving, TSP subtour elimination algorithm; procedure for generating additional constraints, recursive subroutine calls, working with sets, forall-do, repeat-until, getsize, not
g1rely.mos
g1rely.dat
Network reliability
Maximum flow with unitary capacities
3
encoding of arcs, range, exists, create, algorithm for printing paths, forall-do, while-do, round
g2dimens.mos
g2dimens.dat
Dimensioning of a mobile phone network
NN
2
if-then, exit
g3routing.mos
g3routing.dat
Routing telephone calls
Multi-commodity network flow problem
3
encoding of paths, finalize, getsize
g4cable.mos
g4cable.dat
Construction of a cabled network
Minimum weight spanning tree problem
3
formulation of constraints to exclude subcycles
g5satell.mos
g5satell.dat
Scheduling of telecommunications via satellite
Preemptive open shop scheduling
5
data preprocessing, algorithm for preemptive scheduling that involves looping over optimization,
``Gantt chart'' printing
g6transmit.mos
g6transmit.dat
Location of GSM transmitters
Covering problem
1
modeling an equivalence; sparse data format
h1loan.mos
h1loan.dat
Choice of loans
NN
1
calculation of net present value
h2publ.mos
h2publ.dat
Publicity campaign
NN
1
forall-do
h3portf.mos
h3portf.dat
Portfolio selection
NN
2
sets of integers, second formulation with semi-continuous, parameters
h4retire.mos
h4retire.dat
Financing an early retirement scheme
NN
2
inline if, selection with `|'
h5budget.mos
h5budget.dat
Family budget
NN
2
formulation of monthly balance constraints including different payment frequencies; as, mod, inline if, selection with `|'
h6expand.mos
h6expand.dat
Choice of expansion projects
NN
2
experiment with solutions: solve LP problem explicitly, ``round'' some almost integer variable and re-solve
h7qportf.mos
h7qportf.dat
Mean variance portfolio selection
Quadratic Programming problem
3
parameters, forall-do, min, max, loop over problem solving
i1assign.mos
i1assign.dat
Assigning personnel to machines
Assignment problem
4
formulation of maximin objective; heuristic solution + 2 different problems (incremental definition) solved, working with sets, while-do, forall-do, negative index values
i2nurse.mos
i2nurse.dat
Scheduling nurses
NN
3
2 problems, using mod to formulate cyclic schedules; forall-do, set of integer
i3school.mos
i3school.dat
Establishing a college timetable
NN
3
many specific constraints, tricky (pseudo) objective function; finalize
i4exam.mos
i4exam.dat
Exam schedule
NN
2
symmetry breaking, no objective
i5pplan.mos
i5pplan.dat
Production planning with personnel assignment
NN
3
2 problems, defined incrementally with partial re-definition of constraints (named constraints), exists, create, dynamic array
i6build.mos
i6build.dat
Planning the personnel at a construction site
NN
2
formulation of balance constraints using inline if
j1water.mos
j1water.dat
Water conveyance / water supply management
Maximum flow problem
2
encoding of arcs, finalize, selection with `|'
j2bigbro.mos
j2bigbro.dat
CCTV surveillance
Maximum vertex cover problem
2
encoding of network, exists
j3elect.mos
j3elect_calc.mos
j3elect.dat
Rigging elections
Partitioning problem
4
algorithm for data preprocessing; file inclusion, 3 nested/recursive procedures, working with sets, if-then, forall-do, exists, finalize
j4grit.mos
j4grit.dat
Gritting roads
Directed Chinese postman problem
4
algorithm for finding Eulerian path/graph for printing; encoding of arcs, dynamic array, exists, 2 functions implementing Eulerian circuit algorithm, round, getsize, break, while-do, if-then-else
j5tax.mos
j5tax.dat
Location of income tax offices
p-median problem
4
modeling an implication, all-pairs shortest path algorithm (Floyd-Warshall); dynamic array, exists, procedure for shortest path algorithm, forall-do, if-then, selection with `|'
j6hospit.mos
j6hospit.dat
Efficiency of hospitals
Data Envelopment Analysis (DEA)
3
description of DEA method; loop over problem solving with complete re-definition of problem every time, finalize, naming and declaring constraints
approx.mos
Approximation
Piecewise linear approximation
2
SOS-2, Special Ordered Sets, piecewise linear approximation of a nonlinear function
burglar1.mos
burglar2.mos
burglari.mos
burglar_rec.mos
burglar.dat
burglar2.dat
burglar_rec.dat
Burglar
Knapsack problem
1
simple MIP model, data input from text data file, array initialization, numerical indices, string indices, record data structure
chess.mos
chess2.mos
Chess
Production planning
1
simple LP model, solution output, primal solution values, slack values, activity values, dual solution values
pricebrai.mos
All item discount pricing
Piecewise linear function
3
SOS-1, Special Ordered Sets, piecewise linear function, approximation of non-continuous function, step function
pricebrinc.mos
pricebrinc2.mos
Incremental pricebreaks
Piecewise linear function
3
SOS-2, Special Ordered Sets, piecewise linear function, step function,