Title: Mathematical Programming for Optimisation
1Mathematical Programming for Optimisation
CAIR Seminar Programme, Wednesday 28th May 2008
- Mike Morgan and Vic Grout
- Centre for Applied Internet Research (CAIR)
- University of Wales
- NEWI Plas Coch Campus, Mold Road
- Wrexham, LL11 2AW, UK
- mi.morganv.grout_at_newi.ac.uk
- www.cair-uk.org
NEWI North East Wales Institute of Higher
Education - Centre for Applied Internet Research
2Mathematical Programming for Optimisation
- Optimisation generally involves maximising or
minimising something - The something is the objective function
- e.g., Maximise x or just max x (no
solution) - Also, there are usually constraints
- e.g., max x subject to (s.t.) x ? 2
(trivially x 2) - A better example, max 3x 2y s.t. 3x - 2y
? 4 7y 3x ? 9 - Not so obvious!
3A Better Example
- max 3x 2y s.t. 3x - 2y
? 4 7y 3x ? 9
Solution
4An Even Better Example
Algorithms such as the Simplex Method find (as in
home-in on) the optimal solution
This is Mathematical Programming
5Common Notation
- Used to simplify/generalise large expressions
- in many dimensions/variables
- 3x 4y 2z
- ax by cz
- a1x1 a2x2 a3x3 anxn
6The General Form
- max/min S xi
- s.t. S ? / / ?
- S ? / / ?
- S ? / / ?
-
- xi ? 0,1 etc.
- Or, it can be expressed using linear algebra
- Vectors and matrices can save space
7Example The Diet Problem
- One of the first problems ever formulated in this
way - Consider buying the weekly shopping. Choice of
- n foods, containing
- m nutrients
- A (aij) is the amount matrix (2-d array (m x
n)) - aij is the quantity of the ith nutrient in the
jth food - r (ri) is the requirement vector (1-d array
(m)) - ri is the weekly requirement of nutrient i
- c (cj) is the cost vector (1-d array (n))
- cj is the cost of food j
- x (xj) is the consumption vector (1-d array
(n)) - xj is the weekly consumption of food j
8Example The Diet Problem
- We want to find a diet, of minimal cost, that
satisfies the dietary requirement of all
nutrients - min cx
- s.t. Ax ? r
- x ? 0
9Simple Network/Graph Problem
- Minimum Dominating Set (MDS)
Find the minimum subset of nodes S, such that
each node not in S has a neighbour in S
10MDS as an Integer Program
- Vector s (si), where si 1 if node i is a
relay and 0 otherwise - Adjacency matrix A (aij), where aij 1 if
there is an edge between nodes i and j and 0
otherwise.
11A more complex problem
- Minimum connected dominating set (MCDS)
- Same as MDS only the subgraph induced by S must
be connected - Solve using surplus network flow variables
- Increases complexity (runtime) for solving
problem
12Testing Connectivity with Network Flows (almost)
- Flow matrix F (fij) records flow across edges
- Flows are directional
- To test connectivity, choose one node as source
and all the others as sinks. The source
introduces n-1 units of flow onto the network and
each sink must absorb 1. - Flow may only be transmitted from a relay or from
the source
13Well, thats lovely, but
- it doesnt work! Consider using a different node
as source - Need to restrict problem so that the source node
can only send flow along one edge, unless it is a
relay - In other words, if the source is not a relay, it
gives all its flow to a neighbouring relay
14What does this look like as an integer program?
- First of all, set the source node as node 1
- Node 1 must introduce n-1 units of flow onto the
network - All other nodes must consume 1 unit
15What does this look like as an integer program?
(contd)
- For all nodes other than the source, flows must
originate from a relay and traverse a valid edge - Flow can originate from the source node if it
isnt a relay, but must travel along a valid edge
to a neighbouring relay
16What does this look like as an integer program?
(contd)
- Binary source vector q(qi), defined as qi1 if
flow is transmitted from the src node to i and 0
otherwise - If source is not a relay, q must sum to 1
17How do we solve the problem?
- Solving a mathematical program with binary or
integer variables is NP-complete - Powerful method for finding optimal solutions
- Particularly if you use 3rd party software!
18Useful results
- Solving problems this way involves little
software development - Express your problem in this form and let the
solver do the work - Cplex solver originally developed by B. Bixby but
now taken over by ILOG - For MCDS (with a small alteration from model
outlined) weve obtained optimal solutions for
problems with n lt 100 nodes. - Test accuracy of heuristics
- More complex variants of problem solved using
combination of IP and heuristics
19Subsets of Constraints
- Suppose we require 2 node-disjoint paths between
all node pairs on the network. - In this example, it is only necessary to
constrain one node pair to get a feasible
solution - Number of flow variables is reduced from n2m to m
- Runtime of LP solver is exponentially related to
number of variables!!
20Subsets of constraints (contd)
- First require that every node have 2 relay
neighbours - minimise
- subject to
21Subsets of constraints (contd)
- Introduce flow variables incrementally
- Each constrained node pair (u,v) represents a
commodity - u creates 2 units of flow and v absorbs 2. All
other nodes conserve flow. - Transient nodes may only carry one unit of flow
for a given commodity (ensures 2 disjoint paths)
22Lower bounds and heuristics
- After each IP is solved, solution is checked for
feasibility. - If it is not feasible, the size of S represents a
lower bound on the size of the optimal solution. - Use heuristic after each IP, if it finds solution
with size lower bound, that solution is
optimal. - The more constraints are added, the more accurate
the lower bound becomes - Eventually, either the IP will yield a feasible
solution or the heuristic will hit the lower bound
23Good news and bad news
- Problems solved to optimality for nlt100 and up
to four node-disjoint paths between all node
pairs - Unfortunately this does involve some software
development
24Any questions?
CAIR Seminar Programme, Wednesday 28th May 2008
Thank you
- Mike Morgan and Vic Grout
- Centre for Applied Internet Research (CAIR)
- University of Wales
- NEWI Plas Coch Campus, Mold Road
- Wrexham, LL11 2AW, UK
- mi.morganv.grout_at_newi.ac.uk
- www.cair-uk.org
-
NEWI North East Wales Institute of Higher
Education - Centre for Applied Internet Research