Integrating Optimization and Constraint Satisfaction - PowerPoint PPT Presentation

1 / 94
About This Presentation
Title:

Integrating Optimization and Constraint Satisfaction

Description:

Bounds consistency we will not set xj to any infeasible values during branching. Bounds propagation achieves bounds consistency for a single inequality. ... – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 95
Provided by: JohnH6
Category:

less

Transcript and Presenter's Notes

Title: Integrating Optimization and Constraint Satisfaction


1
Introduction to Constraint Programming and
Optimization
Tutorial September 2005 John Hooker Carnegie
Mellon University
2
Outline
  • We will examine 5 example problems and use them
    to illustrate some basic ideas of constraint
    programming and optimization.
  • Freight transfer
  • Traveling salesman problem
  • Continuous global optimization
  • Product configuration
  • Machine scheduling

3
Outline
  • Example Freight transfer
  • Bounds propagation
  • Bounds consistency
  • Knapsack cuts
  • Linear Relaxation
  • Branching search

4
Outline
  • Example Traveling salesman problem
  • Filtering for all-different constraint
  • Relaxation of all-different
  • Arc consistency

5
Outline
  • Example Continuous global optimization
  • Nonlinear bounds propagation
  • Function factorization
  • Interval splitting
  • Lagrangean propagation
  • Reduced-cost variable fixing

6
Outline
  • Example Product configuration
  • Variable indices
  • Filtering for element constraint
  • Relaxation of element
  • Relaxing a disjunction of linear systems

7
Outline
  • Example Machine scheduling
  • Edge finding
  • Benders decomposition and nogoods

8
Example Freight Transfer
  • Bounds propagation
  • Bounds consistency
  • Knapsack cuts
  • Linear Relaxation
  • Branching search

9
Freight Transfer
  • Transport 42 tons of freight using at most 8
    trucks.
  • Trucks have 4 different sizes 7,5,4, and 3
    tons.
  • How many trucks of each size should be used to
    minimize cost?
  • xj number of trucks of size j.

Cost of size 4 truck
10
Freight Transfer
  • We will solve the problem by branching search.
  • At each node of the search tree
  • Reduce the variable domains using bounds
    propagation.
  • Solve a linear relaxation of the problem to get
    a bound on the optimal value.

11
Bounds Propagation
  • The domain of xj is the set of values xj can
    have in a some feasible solution.
  • Initially each xj has domain 0,1,2,3.
  • Bounds propagation reduces the domains.
  • Smaller domains result in less branching.

12
Bounds Propagation
  • First reduce the domain of x1

Max element of domain
  • So domain of x1 is reduced from 0,1,2,3 to
    1,2,3.
  • No reductions for x2, x3, x4 possible.

13
Bounds Propagation
  • In general, let the domain of xi be Li, , Ui.
  • An inequality ax ? b (with a ? 0) can be used to
    raise Li to
  • An inequality ax ? b (with a ? 0) can be used to
    reduce Ui to

14
Bounds Propagation
  • Now propagate the reduced domains to the other
    constraint, perhaps reducing domains further

Min element of domain
  • No further reduction is possible.

15
Bounds Consistency
  • Again let Lj, , Uj be the domain of xj
  • A constraint set is bounds consistent if for
    each j
  • xj Lj in some feasible solution and
  • xj Uj in some feasible solution.
  • Bounds consistency ? we will not set xj to any
    infeasible values during branching.
  • Bounds propagation achieves bounds consistency
    for a single inequality.
  • 7x1 5x2 4x3 3x4 ? 42 is bounds consistent
    when the domains are x1 ? 1,2,3 and x2, x3, x4
    ? 0,1,2,3.
  • But not necessarily for a set of inequalities.

16
Bounds Consistency
  • Bounds propagation may not achieve consistency
    for a set.
  • Consider set of inequalities

with domains x1, x2 ? 0,1, solutions (x1,x2)
(1,0), (1,1).
  • Bounds propagation has no effect on the domains.
    From x1 x2 ?? 1

From x1 ? x2 ?? 1
  • Constraint set is not bounds consistent because
    x1 0 in no feasible solution.

17
Knapsack Cuts
  • Inequality constraints (knapsack constraints)
    imply cutting planes.
  • Cutting planes make the linear relaxation
    tighter, and its solution is a stronger bound.
  • For the ? constraint, each maximal packing
    corresponds to a cutting plane (knapsack cut).
  • These terms form a maximal packing because
  • They alone cannot sum to ? 42, even if each xj
    takes the largest value in its domain (3).
  • (b) No superset of these terms has this property.

18
Knapsack Cuts
  • This maximal packing

Min value of 4x3 3x4 needed to satisfy
inequality
corresponds to a knapsack cut
Coefficients of x3, x4
19
Knapsack Cuts
  • In general, J is a packing for ax ? b (with a ?
    0) if
  • If J is a packing for ax ? b, then the remaining
    terms must cover the gap
  • So we have a knapsack cut

20
Knapsack Cuts
  • Valid knapsack cuts for

are
21
Linear Relaxation
  • We now have a linear relaxation of the freight
    transfer problem

22
Branching Search
  • At each node of the search tree
  • Reduce domains with bounds propagation.
  • Solve a linear relaxation to obtain a lower
    bound on any feasible solution in the subtree
    rooted at current node.
  • If relaxation is infeasible, or its optimal
    value is no better than the best feasible
    solution found so far, backtrack.
  • Otherwise, if solution of relaxation is
    feasible, remember it and backtrack.
  • Otherwise, branch by splitting a domain.

23
Domains after bounds propagation
Branching search
Solution of linear relaxation
x1?1,2
x13
x23
x2?0,1,2
x3?1,2
x33
24
Branching Search
  • Two optimal solutions found (cost 530)

25
Example Traveling Salesman
  • Filtering for all-different constraint
  • Relaxation of all-different
  • Arc consistency

26
Traveling Salesman
  • Salesman visits each city once.
  • Distance from city i to city j is cij .
  • Minimize distance traveled.
  • xi i th city visited.

Distance from i th city visited to next
city (city n1 city 1)
  • Can be solved by branching domain reduction
    relaxation.

27
Filtering for All-different
  • Goal filter infeasible values from variable
    domains.
  • Filtering reduces the domains and therefore
    reduces branching.
  • The best known filtering algorithm for
    all-different is based on maximum cardinality
    bipartite matching and a theorem of Berge.

28
Filtering for All-different
  • Consider all-different(x1,x2,x3,x4,x5) with
    domains

29
Indicate domains with edges
Find maximum cardinality bipartite matching.
1
x1
2
Mark edges in alternating paths that start at an
uncovered vertex.
x2
3
x3
4
Mark edges in alternating cycles.
x4
5
x5
Remove unmarked edges not in matching.
6
30
Indicate domains with edges
Find maximum cardinality bipartite matching.
Mark edges in alternating paths that start at an
uncovered vertex.
Mark edges in alternating cycles.
Remove unmarked edges not in matching.
31
Filtering for All-different
32
Relaxation of All-different
  • All-different(x1,x2,x3,x4) with domains xj ?
    1,2,3,4 has the convex hull relaxation
  • This is the tightest possible linear relaxation,
    but it may be too weak (and have too many
    inequalities) to be useful.

33
Arc Consistency
  • A constraint set S containing variables x1, ,
    xn with domains D1, , Dn is arc consistent if
    the domains contain no infeasible values.
  • That is, for every j and every v ?Dj, xj v in
    some feasible solution of S.
  • This is actually generalized arc consistency
    (since there may be more than 2 variables per
    constraint).
  • Arc consistency can be achieved by filtering all
    infeasible values from the domains.

34
Arc Consistency
  • The matching algorithm achieves arc consistency
    for all-different.
  • Practical filtering algorithms often do not
    achieve full arc consistency, since it is not
    worth the time investment.
  • The primary tools of constraint programming are
    filtering algorithms that achieve or approximate
    arc consistency.
  • Filtering algorithms are analogous to cutting
    plane algorithms in integer programming.

35
Arc Consistency
  • Domains that are reduced by a filtering
    algorithm for one constraint can be propagated to
    other constraints.
  • Similar to bounds propagation.
  • But propagation may not achieve arc consistency
    for a constraint set, even if it achieves arc
    consistency for each individual constraint.
  • Again, similar to bounds propagation.

36
Arc Consistency
  • For example, consider the constraint set

with domains
  • No further domain reduction is possible.
  • Each constraint is arc consistent for these
    domains.
  • But x1 2 in no feasible solution of the
    constraint set.
  • So the constraint set is not arc consistent.

37
Arc Consistency
  • On the other hand, sometimes arc consistency
    maintenance alone can solve a problemwithout
    branching.
  • Consider a graph coloring problem.
  • Color the vertices red, blue or green so that
    adjacent vertices have different colors.
  • These are binary constraints (they contain only
    2 variables).
  • Arbitrarily color two adjacent vertices red and
    green.
  • Reduce domains to maintain arc consistency for
    each constraint.

38
Graph coloring problem that can be solved by arc
consistency maintenance alone.
39
Example Continuous Global Optimization
  • Nonlinear bounds propagation
  • Function factorization
  • Interval splitting
  • Lagrangean propagation
  • Reduced-cost variable fixing

40
Continuous Global Optimization
  • Todays constraint programming solvers (CHIP,
    ILOG Solver) emphasize propagation.
  • Todays integer programming solvers (CPLEX,
    Xpress-MP) emphasize relaxation.
  • Current global solvers (BARON, LGO) already
    combine propagation and relaxation.
  • Perhaps in the near future, all solvers will
    combine propagation and relaxation.

41
Continuous Global Optimization
  • Consider a continuous global optimization
    problem
  • The feasible set is nonconvex, and there is more
    than one local optimum.
  • Nonlinear programming techniques try to find a
    local optimum.
  • Global optimization techniques try to find a
    global optimum.

42
Continuous Global Optimization
Global optimum
x2
Local optimum
Feasible set
x1
43
Continuous Global Optimization
  • Branch by splitting continuous interval domains.
  • Reduce domains with
  • Nonlinear bounds propagation.
  • Lagrangean propagation (reduced cost variable
    fixing)..
  • Relax the problem by factoring functions.

44
Nonlinear Bounds Propagation
  • To propagate 4x1x2 1, solve for x1 1/4x2 and
    x2 1/4x1. Then
  • This yields domains x1 ? 0.125,1, x2 ?
    0.25,2.
  • Further propagation of 2x1 x2 ? 2 yields x1 ?
    0.125,0.875, x2 ? 0.25,1.75.
  • Cycling through the 2 constraints converges to
    the fixed point x1 ? 0.146,0.854, x2 ?
    0.293,1.707.
  • In practice, this process is terminated early,
    due to decreasing returns for computation time,

45
Nonlinear Bounds Propagation
x2
Propagate intervals 0,1, 0,2 through
constraints to obtain 1/8,7/8, 1/4,7/4
x1
46
Function Factorization
  • Factor complex functions into elementary
    functions that have known linear relaxations.
  • Write 4x1x2 1 as 4y 1 where y x1x2.
  • This factors 4x1x2 into linear function 4y and
    bilinear function x1x2.
  • Linear function 4y is its own linear relaxation.
  • Bilinear function y x1x2 has relaxation

47
Function Factorization
  • We now have a linear relaxation of the nonlinear
    problem

48
Interval Splitting
x2
Solve linear relaxation.
x1
49
Interval Splitting
x2
Solve linear relaxation.
Since solution is infeasible, split an interval
and branch.
x1
50
x2
x2
x1
x1
51
x2
x2
Solution of relaxation is feasible, value
1.25 This becomes best feasible solution
x1
x1
52
x2
x2
Solution of relaxation is feasible, value
1.25 This becomes best feasible solution
Solution of relaxation is not quite feasible,
value 1.854
x1
x1
53
Lagrangean Propagation
Optimal value of relaxation is 1.854
Lagrange multiplier (dual variable) in solution
of relaxation is 1.1
  • Any reduction ? in right-hand side of 2x1 x2 ?
    2 reduces the optimal value of relaxation by 1.1
    ?.
  • So any reduction ? in the left-hand side (now 2)
    has the same effect.

54
Lagrangean Propagation
  • Any reduction ? in left-hand side of 2x1 x2 ?
    2 reduces the optimal value of the relaxation
    (now 1.854) by 1.1 ?.
  • The optimal value should not be reduced below
    the lower bound 1.25 (value of best feasible
    solution so far).
  • So we should have 1.1 ? ? 1.854 ? 1.25, or

or
  • This inequality can be propagated to reduce
    domains.
  • Reduces domain of x2 from 1,1.714 to
    1.166,1.714.

55
Reduced-cost Variable Fixing
  • In general, given a constraint g(x) ? b with
    Lagrange multiplier ?, the following constraint
    is valid

Optimal value of relaxation
Lower bound on optimal value of original problem
  • If g(x) ? b is a nonnegativity constraint ?xj ?
    0 with Lagrange multiplier ? (i.e, reduced cost
    of xj is ??), then

or
  • If xj is a 0-1 variable and (v ? L)/ ? lt 1, then
    we can fix xj to 0. This is reduced cost
    variable fixing.

56
Example Product Configuration
  • Variable indices
  • Filtering for element constraint
  • Relaxation of element
  • Relaxing a disjunction of linear systems

57
Product Configuration
  • We want to configure a computer by choosing the
    type of power supply, the type of disk drive, and
    the type of memory chip.
  • We also choose the number of disk drives and
    memory chips.
  • Use only 1 type of disk drive and 1 type of
    memory.
  • Constraints
  • Generate enough power for the components.
  • Disk space at least 700.
  • Memory at least 850.
  • Minimize weight subject to these constraints.

58
Product Configuration
Personal computer
Disk drive
Memory
Memory
Disk drive
Disk drive
Memory
Disk drive
Memory
Memory
Powersupply
Disk drive
Memory
Powersupply
Powersupply
Powersupply
59
Product Configuration
60
Product Configuration
  • Let
  • ti type of component i installed.
  • qi quantity of component i installed.
  • These are the problem variables.
  • This problem will illustrate the element
    constraint.

61
Product Configuration
Amount of attribute j produced (lt 0 if
consumed) memory, heat, power, weight, etc.
Quantity of component i installed
62
Product Configuration
Amount of attribute j produced by type ti of
component i
Amount of attribute j produced (lt 0 if
consumed) memory, heat, power, weight, etc.
Quantity of component i installed
63
Product Configuration
Amount of attribute j produced by type ti of
component i
Amount of attribute j produced (lt 0 if
consumed) memory, heat, power, weight, etc.
ti is a variable index
Quantity of component i installed
64
Product Configuration
Unit cost of producing attribute j
Amount of attribute j produced by type ti of
component i
Amount of attribute j produced (lt 0 if
consumed) memory, heat, power, weight, etc.
ti is a variable index
Quantity of component i installed
65
Variable Indices
  • Variable indices are implemented with the
    element constraint.
  • The y in xy is a variable index.
  • Constraint programming solvers implement xy by
    replacing it with a new variable z and adding the
    constraint element(y,(x1,,xn),z).
  • This constraint sets z equal to the y th element
    of the list (x1,,xn).
  • So is replaced by and
    the new constraint

for each i.
  • The element constraint can be propagated and
    relaxed.

66
Filtering for Element
can be processed with a domain reduction
algorithm that maintains arc consistency.
Domain of z
67
Filtering for Element
Example...
The reduced domains are
The initial domains are
68
Relaxation of Element
  • element(y,(x1,,xn),z) can be given a continuous
    relaxation.
  • It implies the disjunction
  • In general, a disjunction of linear systems can
    be given a convex hull relaxation.
  • This provides a way to relax the element
    constraint.

69
Relaxing a Disjunction of Linear Systems
  • Consider the disjunction
  • It describes a union of polyhedra defined by Akx
    ? bk.
  • Every point x in the convex hull of this union
    is a convex combination of points in the
    polyhedra.

Convex hull
70
Relaxing a Disjunction of Linear Systems
  • So we have

Using the change of variable we get the
convex hull relaxation
71
Relaxation of Element
  • The convex hull relaxation of element(y,(x1, ,
    xn), z) is the convex hull relaxation of the
    disjunction , which simplifies to

72
Product Configuration
  • Returning to the product configuration problem,
    the model with the element constraint is

with domains
Type of memory
Type of power supply
Type of disk
Number of power supplies
Number of disks, memory chips
73
Product Configuration
  • We can use knapsack cuts to help filter domains.
    Since , the constraint
    implies
    where each zij has one of the values
  • This implies the knapsack inequalities
  • These can be used to reduce the domain of qi.

74
Product Configuration
  • Using the lower bounds Lj, for power, disk space
    and memory, we have the knapsack inequalities

which simplify to
  • Propagation of these reduces domain of q3 from
    1,2,3 to 3.

75
Product Configuration
  • Propagation of all constraints reduces domains to

76
Product Configuration
  • Using the convex hull relaxation of the element
    constraints, we have a linear relaxation of the
    problem

qik gt 0 when type k of component i is chosen,
and qik is the quantity installed
Current bounds on vj
Current bounds on qi
77
Product Configuration
  • The solution of the linear relaxation at the
    root node is

Use 1 type C power supply (t1 C)
Use 2 type A disk drives (t2 A)
Use 3 type B memory chips (t3 B)
Min weight is 705.
  • Since only one qik gt 0 for each i, there is no
    need to branch on the ti s.
  • This is a feasible and therefore optimal
    solution.
  • The problem is solved at the root node.

78
Example Machine Scheduling
  • Edge finding
  • Benders decomposition and nogoods

79
Machine Scheduling
  • We want to schedule 5 jobs on 2 machines.
  • Each job has a release time and deadline.
  • Processing times and costs differ on the two
    machines.
  • We want to minimize total cost while observing
    the time widows.
  • We will first study propagation for the
    1-machine problem (edge finding).
  • We will then solve the 2-machine problem using
    Benders decomposition and propagation on the
    1-machine problem

80
Machine Scheduling
Processing time on machine A
Processing time on machine B
81
Machine Scheduling
  • Jobs must run one at a time on each machine
    (disjunctive scheduling). For this we use the
    constraint

p (pi1,pin) are processing times(constants)
t (t1,tn) are start times(variables)
  • The best known filtering algorithm for the
    disjunctive constraint is edge finding.
  • Edge finding does not achieve full arc or bounds
    consistency.

82
Machine Scheduling
  • The problem can be written

Start time of job j
Machine assigned to job j
  • We will first look at a scheduling problem on 1
    machine.

83
Edge Finding
  • Lets try to schedule jobs 2, 3, 5 on machine A.
  • Initially, the Earliest Start Time Ej and Latest
    End Time Lj are the release dates rj and
    deadlines dj

time window
0
5
10
Job 2
Job 3
Job 5
L3
E3
84
Edge Finding
  • Job 2 must precede jobs 3 and 5, because
  • Jobs 2, 3, 5 will not fit between the earliest
    start time of 3, 5 and the latest end time of 2,
    3, 5.
  • Therefore job 2 must end before jobs 3, 5 start.

10
0
5
Job 2
Job 3
Job 5
pA2
pA3
pA5
maxL2,L3,L5
minE3,E5
85
Edge Finding
  • Jobs 2 precedes jobs 3, 5 because
  • This is called edge finding because it finds an
    edge in the precedence graph for the jobs.

10
0
5
Job 2
Job 3
Job 5
pA2
pA3
pA5
maxL2,L3,L5
minE3,E5
86
Edge Finding
  • In general, job k must precede set S of jobs on
    machine i when

10
0
5
Job 2
Job 3
Job 5
pA2
pA3
pA5
maxL2,L3,L5
minE3,E5
87
Edge Finding
  • Since job 2 must precede 3 and 4, the earliest
    start times of jobs 3 and 4 can be updated.
  • They cannot start until job 2 is finished.

10
0
5
Job 2
pA2
Job 3
Job 5
E3,L3 updated to 3,7
88
Edge Finding
  • Edge finding also determines that job 3 must
    precede job 5, since
  • This updates E5,L5 to 5,7, and there is too
    little time to run job 5. The schedule is
    infeasible.

10
0
5
Job 2
pA2
Job 3
pA3
Job 5
pA5
E5,L5 updated to 5,7
89
Benders Decomposition
  • We will solve the 2-machine scheduling problem
    with logic-based Benders decomposition.
  • First solve an assignment problem that allocates
    jobs to machines (master problem).
  • Given this allocation, schedule the jobs
    assigned to each machine (subproblem).
  • If a machine has no feasible schedule
  • Determine which jobs cause the infeasibility.
  • Generate a nogood (Benders cut) that excludes
    assigning these jobs to that machine again
  • Add the Benders cut to the master problem and
    re-solve it.
  • Repeat until the subproblem is feasible.

90
Benders Decomposition
  • The master problem (assigns jobs to machines) is
  • We will solve it as an integer programming
    problem.
  • Let binary variable xij 1 when yj i.

91
Benders Decomposition
  • We will add a relaxation of the subproblem to
    the master problem, to speed up solution.

If jobs 3,4,5 are all assigned to machine A,
their processing time on that machine must fit
between their earliest release time (2) and
latest deadline (7).
92
Benders Decomposition
  • The solution of the master problem is
  • Assign jobs 1,2,3,5 to machine A, job 4 to
    machine B.
  • The subproblem is to schedule these jobs on the
    2 machines.
  • Machine B is trivial to schedule (only 1 job).
  • We found that jobs 2, 3, 5 cannot be scheduled
    on machine A.
  • So jobs 1, 2, 3, 5 cannot be scheduled on
    machine A.

93
Benders Decomposition
  • So we create a Benders cut (nogood) that
    excludes assigning jobs 2, 3, 5 to machine A.
  • These are the jobs that caused the
    infeasibility.
  • The Benders cut is
  • Add this constraint to the master problem.
  • The solution of the master problem now is

94
Benders Decomposition
  • So we schedule jobs 1, 2, 5 on machine A, jobs
    3, 4 on machine B.
  • These schedules are feasible.
  • The resulting solution is optimal, with min cost
    130.
Write a Comment
User Comments (0)
About PowerShow.com