Slide 1 An Integrated Approach to Truss Structure Design J. N. Hooker Tallys Yunes CPAIOR Workshop on Hybrid Methods for Nonlinear Combinatorial Problems Bologna, June 2010
How to Solve Nonlinear Combinatorial Problems? One answer: basically the same way as other problems. Slide 2
How to Solve Nonlinear Combinatorial Problems? One answer: basically the same way as other problems. We will look at the solution approach of SIMPL An integrated solver. Combines ideas from MIP, CP, and global optimization. Application to truss structure design Slide 3
Outline Overview of an integrated solver SIMPL Lagrangean-based domain reduction Global optimization in SIMPL The truss structure design problem Quasi-relaxations SIMPL model and computational results Slide 4
Overview of an integrated solver Integration principles. Search-infer-relax Classical solution methods. Some references Slide 5
Integration Principles Integrate MILP, constraint programming, global optimization in a unified approach. Slide 6
Integration Principles Integrate MILP, constraint programming, global optimization in a unified approach. Low-level integration with high-level modeling. Slide 7
Integration Principles Integrate MILP, constraint programming, global optimization in a unified approach. Low-level integration with high-level modeling. Succinct modeling with meta-constraints. Model communicates problem structure to the solver. Slide 8
Integration Principles Integrate MILP, constraint programming, global optimization in a unified approach. Low-level integration with high-level modeling. Succinct modeling with meta-constraints. Model communicates problem structure to the solver. General search-infer-relax solution algorithm. Enumerate problem restrictions. Branching or logic-based Benders. Underlying search/inference and search/relaxation dualities. Slide 9
Integration Principles Integrate MILP, constraint programming, global optimization in a unified approach. Low-level integration with high-level modeling. Succinct modeling with meta-constraints. Model communicates problem structure to the solver. General search-infer-relax solution algorithm. Enumerate problem restrictions. Branching or logic-based Benders. Underlying search/inference and search/relaxation dualities Constraint-based control. Filtering, relaxation, branching. Slide 10
Search-Infer-Relax Search: Enumerate problem restrictions. Branching tree nodes, Benders subproblems, local search neighborhoods, etc. Infer: Deduce constraints from current restriction Nogoods, cutting planes, filtering, etc. Relax: Solve relaxation of current restriction LP, Lagrangean, domain store, Benders master, etc. Slide 11
Classical solution methods CP solver Search: Branching Inference: Flltering Relaxation: Domain store MILP solver Search: Branching Inference: Cutting planes, presolve, reduced cost variable fixing Relaxation: LP Benders Search: Enumerate subproblems. Inference: Benders cuts Relaxation: Master problem Slide 12
Classical solution methods Global optimization Search: Enumerate boxes Inference: Domain reduction, dual-based variable bounding Relaxation: Convexification SAT Search: Branching Inference: Conflict clauses Relaxation: Same as restriction Local search Search: Enumerate neighborhoods. Inference: Tabu list, etc. Relaxation: Same as restriction Slide 13
Interaction Strengthens Fixes variables Reduces domains Adds IP cuts Adds conflict clause Adds Benders cuts Shrinks box Creates neighborhood Inference Relaxation Guides Separating cut Slide 14 Activates IP cut Fixed variable Filtering/propagation Reduced domain Benders cut Subproblem dual Restriction Defines Identifies next branch Fractional variable Nonsingleton domain Violated constraint Defines subproblem Solution of master Defines neighborhood Center on previous solution
Some references Basic Framework JNH. Logic-based methods for optimization, CP 1994 JNH, M. A. Osorio. Mixed logical/linear programming, Discrete Applied Mathematics 1999. JHH, G. Ottosson, E. S. Thorsteinsson, H.-J. Kim. On integrating CP and LP for combinatorial optimization. AAAI 1999. G. Ottosson, E. Thorsteinsson, JNH. Mixed global constraints and inference in hybrid IP-CLP solvers. CP 1999 JNH, G. Ottosson, E. S. Thorsteinsson, H.-J. Kim. A scheme for unifying optimization and constraint satisfaction methods. Knowledge Engineering Review, 2000. Slide 15
Some references JNH. A framework for integrating solution methods. ICS 2003. I. Aron, JNH, T. H. Yunes. SIMPL: A system for integrating optimization techniques. CPAIOR 2004. T. Yunes, I. Aron, JNH. An integrated solver for optimization problems. Operations Research, to appear. Slide 16
Some references Search JNH. Unifying local and exhaustive search. ENC 2005. JNH, A search-infer-and-relax framework for integrating solution methods. CPAIOR 2005 Modeling JNH, H.-J. Kim, G. Ottosson. A declarative modeling framework that integrates solution methods. Annals of OR 2001. JNH. Hybrid modeling. Ten Years of CPAIOR, to appear. Slide 17
Some references Theory and background JNH. Logic-Based Methods for Optimization. 2000. JNH. Logic, optimization and constraint programming. INFORMS Journal on Computing, 2002. A. Bockmayr, JNH. Constraint programming. Handbook of Discrete Optimization, 2005. JNH. Operations research methods in constraint programming, Handbook of Constraint Programming, 2006. J. N. Hooker. Duality in optimization and constraint satisfaction. CPAIOR 2006 JNH. Integrated Methods for Optimization. 2007. Slide 18
Some references Nogood-based search (Logic-based Benders) JNH, H. Yan. Logic circuit verification by Benders decomposition. CP 1995. JNH. Logic-Based Methods for Optimization. 2000. E. Thorsteinsson. Branch and check: A hybrid framework for integrating MIP and CLP. CP 2001. JNH, G. Ottosson. Logic-based Benders decomposition. Mathematical Programming, 2003. JNH. A hybrid method for planning and scheduling. Constraints 2005. JNH. Planning and scheduling to minimize tardiness. CP 2005. JNH. Planning and scheduling by logic-based Benders decomposition. Operations Research, 2007. Slide 19
Some references Relaxation methods I. E. Grossmann, JNH, R. Raman, H. Yan. Logic cuts for processing networks with fixed charges. Computers and OR, 1994. E. Thorsteinsson and G. Ottosson. Linear relaxations and reduced-cost based propagation of continuous variable subscripts. Annals of OR, 2001. S. Bollapragada, O. Ghattas, JNH. Optimal design of truss structures by mixed logical and linear programming. Operations Research 2001. JNH. Convex programming methods for global optimization, COCOS 2003 L. Genc-Kaya and JNH. The circuit polytope. 2008. Slide 20
Nonlinear Domain Filtering Suppose we have a continuous relaxation of an optimization problem : min f ( x ) g ( x ) 0 x S Slide 21
Nonlinear Domain Filtering Suppose we have a continuous relaxation of an optimization problem : min f ( x ) g ( x ) 0 x S A Lagrangean relaxation dualizes the inequality constraints and provides a lower bound on the optimal value: { f x T g x } θ ( λ ) min ( ) λ ( ) = + x S Slide 22
Nonlinear Domain Filtering Suppose we have a continuous relaxation of an optimization problem : min f ( x ) g ( x ) 0 x S A Lagrangean relaxation dualizes the inequality constraints and provides a lower bound on the optimal value: { f x T g x } θ ( λ ) min ( ) λ ( ) = + x S The Lagrangean dual finds the tightest lower bound: 0 { } max θ ( λ ) λ Can be solved by subgradient optimization, etc. Slide 23
Nonlinear Domain Filtering Suppose we have a continuous relaxation of an optimization problem : min f ( x ) g ( x ) 0 x S Suppose it has optimal solution x*, optimal value v*, and optimal Lagrangean dual solution λ*. Slide 24
Nonlinear Domain Filtering Suppose we have a continuous relaxation of an optimization problem : min f ( x ) g ( x ) 0 x S Suppose it has optimal solution x*, optimal value v*, and optimal Lagrangean dual solution λ*. and λ i * > 0, which means the i-th constraint is tight (complementary slackness); Slide 25
Nonlinear Domain Filtering Suppose we have a continuous relaxation of an optimization problem : min f ( x ) g ( x ) 0 x S Suppose it has optimal solution x*, optimal value v*, and optimal Lagrangean dual solution λ*. and λ i * > 0, which means the i-th constraint is tight (complementary slackness); and we have a feasible solution of the original problem with value U, so that U is an upper bound on the optimal value. Slide 26
Supposing min f ( x ) g ( x ) 0 x S has optimal solution x*, optimal value v*, and optimal Lagrangean dual solution λ*: If x were to change to a value other than x*, the LHS of i-th constraint g i (x) 0 would change by some amount i. Since the constraint is tight, this would increase the optimal value as much as changing the constraint to g i (x) i 0. So it would increase the optimal value at least λ i * i. Slide 27
Supposing min f ( x ) g ( x ) 0 x S has optimal solution x*, optimal value v*, and optimal Lagrangean dual solution λ*: We have found: a change in x that changes g i (x) by i increases the optimal value at least λ i * i. Since optimal value of relaxation true optimal value U, we have λ i * i U v*, or * i U v * λ i Slide 28
Supposing min f ( x ) g ( x ) 0 x S has optimal solution x*, optimal value v*, and optimal Lagrangean dual solution λ*: We have found: a change in x that changes g i (x) by i increases the optimal value at least λ i * i. Since optimal value of relaxation true optimal value U, we have λ i * i U v*, or * Since i = g i (x) g i (x*) = g i (x), this implies the inequality * Slide 29 g ( x ) i U v * λ i i U v * λ i which can be propagated to reduce domains.
Global Optimization in SIMPL Combine OR-style relaxation with CP-style interval arithmetic and domain filtering. This much is similar to some other global solvers. Also some additional features: Lagrangean-based propagation (ust described) Branching on noninteger discrete variables Convex quasi-relaxations Slide 30
Global Optimization in SIMPL max 1 2 1 2 x + x 4 x x = 1 1 2 2 x + x 2 x [0,1], x [0,2] 1 2 Feasible set Slide 31 x 2 Global optimum Local optimum x 1
To solve it: Search: split interval domains of x 1, x 2. Each node of search tree is a problem restriction. Propagation: Interval propagation, domain filtering. Use Lagrange multipliers to infer valid inequality for propagation. Reduced-cost variable fixing is a special case. Relaxation: Use function factorization to obtain linear continuous relaxation. Slide 32
Interval propagation Propagate intervals [0,1], [0,2] through constraints to obtain [1/8,7/8], [1/4,7/4] Slide 33 x 2 x 1
Relaxation (function factorization) Factor complex functions into elementary functions that have known linear relaxations (McCormick factors). Write 4x 1 x 2 = 1 as 4y = 1 where y = x 1 x 2. This factors 4x 1 x 2 into linear function 4y and bilinear function x 1 x 2. Linear function 4y is its own linear relaxation. Slide 34
Relaxation (function factorization) Factor complex functions into elementary functions that have known linear relaxations (McCormick factors). Write 4x 1 x 2 = 1 as 4y = 1 where y = x 1 x 2. This factors 4x 1 x 2 into linear function 4y and bilinear function x 1 x 2. Linear function 4y is its own linear relaxation. Bilinear function y = x 1 x 2 has relaxation: x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 where domain of x is [ x, x ] Slide 35
Relaxation (function factorization) The linear relaxation becomes: min 4 y = 1 1 2 x + x 1 2 2 x + x 2 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x x, = 1,2 Slide 36
Relaxation (function factorization) x 2 Solve linear relaxation. Slide 37 x 1
Relaxation (function factorization) x 2 2 [1,1.75] x Solve linear relaxation. Since solution is infeasible, split an interval and branch. 2 [0.25,1] x Slide 38 x 1
x 2 Slide 39 x 2 [1,1.75] x 2 [0.25,1] x 2 x 1 x 1
x 2 Slide 40 x 2 [1,1.75] x 2 [0.25,1] Solution of relaxation is feasible, value = 1.25 x 2 This becomes incumbent solution x 1 x 1
x 2 Slide 41 x 2 [1,1.75] x 2 [0.25,1] Solution of relaxation is feasible, value = 1.25 This becomes incumbent solution x 2 Solution of relaxation is not quite feasible, value = 1.854 Also use Lagrange multipliers for domain filtering x 1 x 1
Relaxation (Lagrange multipliers) min 4 y = 1 1 2 x + x 1 2 2 x + x 2 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x x, = 1,2 Associated Lagrange multiplier in solution of relaxation is λ 2 = 1.1 Slide 42
Relaxation (Lagrange multipliers) min 4 y = 1 1 2 x + x 1 2 2 x + x 2 Associated Lagrange multiplier in solution of relaxation is λ 2 = 1.1 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x + x x x x y x x + x x x x 2 1 1 2 1 2 2 1 1 2 1 2 x x x, = 1,2 Slide 43 This yields a valid inequality for propagation: 1.854 1.25 2 x 1 + x 2 2 = 1.451 1.1 Value of relaxation Lagrange multiplier Value of incumbent solution
Truss Structure Design Select size of each bar (possibly zero) to support the load while minimizing weight. Bar sizes are discrete. 10-bar cantilever truss 0 deg. freedom 2 deg. freedom Slide 44 Total 8 degrees of freedom Load
Truss Structure Design Notation v i = elongation of bar s i = force along bar h = length of bar i i d = node displacement A i = cross-sectional area of bar p = load along d.f. Slide 45
Truss Structure Design nonlinear min i } Minimize total weight s. t. cos θ s = p, all i cos θ d = v, all i E i Av i i = s i, all i h i v v v, all i d d d, all \/ h A i i i i i i L U i i i L U ( A = A ) k i ik } Equilibrium } Compatibility } Hooke s law } Elongation bounds } Displacement bounds } Logical disunction Area must be one of several discrete values A ik Slide 46 Constraints can be imposed for multiple loading conditions
Truss Structure Design Introducing new variables linearizes the problem but makes it much larger. MILP model Slide 47 min i ik ik i k s. t. cos θ s = p, all i E h i i cos θ d = v, all i i ik k i A v = s, all i ik ik i i k L U v v v, all i i i i L U d d d, all k h A y y = 1, all i ik 0-1 variables indicating size of bar i Elongation variable disaggregated by bar size Hooke s law becomes linear
Truss Structure Design Integrated approach Use the original model (don t introduce new variables) Branch by splitting the range of areas A i No 0-1 or integer variables! Generate a linear quasi-relaxation, which is much smaller than MILP model. Use logic cuts. Original hand-coded method: Bollapragada, Ghattas, and JNH 2001. Slide 48
Branching Discrete bar sizes A i Value in solution of current relaxation
Branching Slide 50 Discrete bar sizes A i Value in solution of current relaxation A i Branch by splitting interval
Branching Discrete bar sizes A i Value in solution of current relaxation A i Branch by splitting interval Slide 51 Solution of next relaxation likely to be at an endpoint. This branching intelligence unavailable in 0-1 model.
Quasi-relaxation Given problem { f x } min ( ) x S { f x } min ( ) The problem is a quasi-relaxation if x S for any x S, there is an x S with f (x ) f (x). A quasi-relaxation need not be a valid relaxation. But its optimal value is a valid lower bound on the optimal value of the original problem. Slide 52
Quasi-relaxation Consider the problem min f ( x ) g ( x, y ) 0, all n x R, y discrete Slide 53
Quasi-relaxation Consider the problem min f ( x ) g ( x, y ) 0, all n x R, y discrete Each g is a vector of functions Slide 54
Quasi-relaxation Consider the problem min f ( x ) g ( x, y ) 0, all n x R, y discrete Each g is a vector of functions Slide 55 Each y is a scalar variable
Quasi-relaxation Consider the problem min f ( x ) Each g is a vector of functions g ( x, y ) 0, all n x R, y discrete Each y is a scalar variable Relaxing the problem by making y continuous could result in a nonconvex problem. Slide 56
Quasi-relaxation Consider the problem min f ( x ) Each g is a vector of functions g ( x, y ) 0, all n x R, y discrete Each y is a scalar variable Relaxing the problem by making y continuous could result in a nonconvex problem. But suppose the problem becomes convex when each y is fixed to a constant. Slide 57
Quasi-relaxation Consider the problem min f ( x ) Each g is a vector of functions g ( x, y ) 0, all n x R, y discrete Each y is a scalar variable Relaxing the problem by making y continuous could result in a nonconvex problem. But suppose the problem becomes convex when each y is fixed to a constant. Then we may be able to write a convex quasi-relaxation. Slide 58
Quasi-relaxation Consider the problem min f ( x ) Theorem (JNH 2005) g ( x, y ) 0, all n x R, y discrete If each g (x,y) is semihomogeneous in x and concave in scalar y, then the following is a quasi-relaxation: min f ( x ) g x y g x y 1 2 (, L ) + (, U ) 0 L 1 U α x x α x L 2 U (1 ) x x (1 ) x α α x = x + x α 1 2 [0,1] Slide 59
Quasi-relaxation Consider the problem min f ( x ) Theorem (JNH 2005) g ( x, y ) 0, all n x R, y discrete If each g (x,y) is semihomogeneous in x and concave in scalar y, then the following is a quasi-relaxation: Slide 60 min f ( x ) g x y g x y 1 2 (, L ) + (, U ) 0 L 1 U α x x α x L 2 U (1 ) x x (1 ) x x = x + x 1 2 α [0,1] g ( α x, y ) α g ( x, y ) for all x, y and α [0,1] g (0, y ) = 0 for all y α α
Quasi-relaxation Consider the problem min f ( x ) Theorem (JNH 2005) g ( x, y ) 0, all n x R, y discrete If each g (x,y) is semihomogeneous in x and concave in scalar y, then the following is a quasi-relaxation: Slide 61 min f ( x ) g x y g x y 1 2 (, L ) + (, U ) 0 L 1 U α x x α x L 2 U (1 ) x x (1 ) x α α x = x + x α 1 2 [0,1] Bounds on y
Quasi-relaxation Consider the problem min f ( x ) Theorem (JNH 2005) g ( x, y ) 0, all n x R, y discrete If each g (x,y) is semihomogeneous in x and concave in scalar y, then the following is a quasi-relaxation: Slide 62 min f ( x ) g x y g x y 1 2 (, L ) + (, U ) 0 L 1 U α x x α x L 2 U (1 ) x x (1 ) x α α x = x + x α 1 2 [0,1] Bounds on x
Quasi-relaxation Why? Take any feasible solution x, y Slide 63 min f ( x ) 1 2 (, L ) + (, U ) 0 L 1 U g x y g x y α x x α x L 2 U (1 ) x x (1 ) x α α x = x + x α 1 2 [0,1]
Quasi-relaxation Why? Take any feasible solution Choose α so that Set x, y L U y = α y + (1 α ) y α α = = x x, x (1 ) x 1 2 Slide 64 min f ( x ) 1 2 (, L ) + (, U ) 0 L 1 U g x y g x y α x x α x L 2 U (1 ) x x (1 ) x α α x = x + x α 1 2 [0,1]
Quasi-relaxation Why? Take any feasible solution Choose α so that Set x, y L U y = α y + (1 α ) y α α = = x x, x (1 ) x 1 2 Then for each component i of g we have g min f ( x ) ( ) ( ) α α + = + 1 2 (, L ) + (, U ) 0 L 1 U g x y g x y α x x α x L 2 U (1 ) x x (1 ) x x = x + x α α α 1 2 [0,1] 1 L 2 U L U g i ( x, y ) g i ( x, y ) g i x, y g i (1 ) x, y L U L U = α g i ( x, y ) + (1 α ) g i ( x, y ) g i ( x, α y + (1 α ) y ) = g i ( x, y ) homogeneity concavity Slide 65
Quasi-relaxation min f ( x ) g ( x, y ) 0, all n x R, y discrete So we have a feasible solution of the quasi-relaxation with value that is less than or equal to (in fact equal to) that of the original problem. satisfied, by construction min f ( x ) g x y g x y 1 2 (, L ) + (, U ) 0 L 1 U α x x α x α α L 2 U (1 ) x x (1 ) x x = x + x 1 2 satisfied, by above argument Slide 66
Quasi-relaxation min f ( x ) g ( x, y ) 0, all n x R, y discrete E i Av i i = s i h i has the form g(x,y) = 0 with g semihomogenous in x and concave (linear) in y because we can write it E i Av i i s i h with x = (A i,s i ), y = v i. i = 0 Slide 67
Truss Structure Design So we have a quasi-relaxation of the truss problem: Slide 68 min h [ A y + A (1 y )] i L U i i i i i s. t. cos θ s = p, all i i i cos θ d = v + v, all i i i 0 i 1 E i ( A L U i v i 0 + A i v i 1 ) = s i, all i h i L U v y v v y, all i i i i 0 i i L U i i i 1 i i v (1 y ) v v (1 y ), all i d d d, all L U 0 y 1, all i i Hooke s law is linearized Elongation bounds split into 2 sets of bounds
Truss Structure Design Logic cuts v i0 and v i1 must have same sign in a feasible solution. If not, we branch by adding logic cuts v i 0, v i 1 0, v i 0, v i 1 0 Slide 69
Truss Structure Design In general, we can have a metaconstraint to represent the semihomogeneous constraint g(x,y) 0. This tells the solver to generate a quasi-relaxation. Slide 70
Truss Structure Design In general, we can have a metaconstraint to represent the semihomogeneous constraint g(x,y) 0. This tells the solver to generate a quasi-relaxation. Since a bilinear constraint xy = α is always semihomogeneous, we will use a bilinear metaconstraint with a quasi-relaxation option. Slide 71
Truss Structure Design SIMPL model Recognized as linear systems Slide 72
Truss Structure Design SIMPL model Recognized as bilinear system Slide 73
Truss Structure Design SIMPL model Generate quasirelaxation for semihomogenous function Slide 74
Truss Structure Design SIMPL model Branch first on violated logic cuts for quasirelaxation Slide 75
Truss Structure Design SIMPL model Then branch on A i in-domain constraint. Violated when A i is not one of the discrete bar sizes. Take upper branch first. Slide 76
Truss Structure Design 10-bar cantilever truss Slide 77 Load
Truss Structure Design Computational results (seconds) Hand-coded integrated method No. bars Loads BARON CPLEX 11 Hand coded SIMPL 10 1 5.3 0.40 0.03 0.08 10 1 3.8 0.26 0.02 0.07 10 1 8.1 0.83 0.16 0.49 10 1 8.8 1.2 0.22 0.63 10 2 24 4.9 0.64 1.84 10 2* 327 146 145 65 10 2* 2067 1087 600 651 Slide 78 *plus displacement bounds
Truss Structure Design 25-bar problem Slide 79
Truss Structure Design 72-bar problem Slide 80
Truss Structure Design Computational results (seconds) Hand-coded integrated method No. bars Loads BARON CPLEX 11 Hand coded SIMPL 25 2 3,302 44 44 20 72 2 3,376 208 33 28 90 2 21,011 570 131 92 108 2 > 24 hr* 3208 1907 1720 200 2 > 24 hr* > 24 hr* > 24 hr** > 24 hr*** * no feasible solution found ** best feasible solution has cost 32,748 Slide 81 *** best feasible solution has cost 32,700
Current Version of SIMPL To download: Click the link to SIMPL on John Hooker s website. See readme file for complete instructions. Download executable and associated files Operational on GNU/Linux only Requires subsidiary solvers CPLEX (version 9, 10, or 11) Eclipse (any version 5.8.80 or later), free download Download problem instances Including all reported in this talk. Slide 82