Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories

Similar documents
Integrating Mixed-Integer Optimisation and Satisfiability Modulo Theories: Application to Scheduling

Global Solution of Mixed-Integer Dynamic Optimization Problems

The goal of this paper is to develop models and methods that use complementary

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

Benders Decomposition

Large-Scale Optimization and Logical Inference

Modelling with Constraints

is shown that this problem can be modeled as an MILP, a CP, a combined MILP-CP OPL model (Hentenryck (1999)), and a hybrid MILP/CP model. The computat

Fundamentals of Integer Programming

Benders in a nutshell Matteo Fischetti, University of Padova

Graph Coloring via Constraint Programming-based Column Generation

The AIMMS Outer Approximation Algorithm for MINLP

Stochastic Separable Mixed-Integer Nonlinear Programming via Nonconvex Generalized Benders Decomposition

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound

Modern Benders (in a nutshell)

An Efficient MILP Model for the Short-Term. Scheduling of Single Stage Batch Plants

The AIMMS Outer Approximation Algorithm for MINLP

Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

Experiments On General Disjunctions

Cutting Stock with Binary Patterns: Arc-flow Formulation with Graph Compression

Recent Work. Methods for solving large-scale scheduling and combinatorial optimization problems. Outline. Outline

Pseudo-polynomial formulations for bin packing and cutting stock problems

On the Global Solution of Linear Programs with Linear Complementarity Constraints

3 INTEGER LINEAR PROGRAMMING

Improving Dual Bound for Stochastic MILP Models Using Sensitivity Analysis

Combining forces to solve Combinatorial Problems, a preliminary approach

Review of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Mathematical Programming Formulations, Constraint Programming

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova

The Branch & Move algorithm: Improving Global Constraints Support by Local Search

OpenMath and SMT-LIB

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Solving a Challenging Quadratic 3D Assignment Problem

Solving a Challenging Quadratic 3D Assignment Problem

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Graph Coloring Facets from a Constraint Programming Formulation

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Machine Learning for Software Engineering

Standard dimension optimization of steel frames

Discrete Optimization. Lecture Notes 2

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Index. optimal package assignments, 143 optimal package assignments, symmetrybreaking,

Symbolic and Concolic Execution of Programs

Lagrangian Relaxation in CP

Applied Mixed Integer Programming: Beyond 'The Optimum'

Surrogate Gradient Algorithm for Lagrangian Relaxation 1,2

Discrete Optimization with Decision Diagrams

12/7/2006. Outline. Generalized Conflict Learning for Hybrid Discrete/Linear Optimization. Forward Conflict-Directed Search

Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.

A Center-Cut Algorithm for Quickly Obtaining Feasible Solutions and Solving Convex MINLP Problems

An MILP Model for Short Term Scheduling. of a Special Class of Multipurpose Batch Plants

Improving the heuristic performance of Benders decomposition

Bilinear Programming

Arc-Flow Model for the Two-Dimensional Cutting Stock Problem

T S 2 P ACK: A Two-Level Tabu Search for the Three-dimensional Bin Packing Problem

Marcia Fampa Universidade Federal do Rio de Janeiro Rio de Janeiro, RJ, Brazil

Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories. ACSys Seminar

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

Decision Procedures in the Theory of Bit-Vectors

An Introduction to Satisfiability Modulo Theories

Automated Software Synthesis for Complex Robotic Systems

Solving Resource-Constrained Scheduling Problems with Exact Methods

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

Deductive Methods, Bounded Model Checking

Course Summary! What have we learned and what are we expected to know?

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Recursive column generation for the Tactical Berth Allocation Problem

Hybrid Constraint Solvers

Research Interests Optimization:

Algorithms for the Bin Packing Problem with Conflicts

Basic Concepts of Constraint Integer Programming

A robust optimization based approach to the general solution of mp-milp problems

TIM 206 Lecture Notes Integer Programming

Weight Annealing Heuristics for Solving the Two-Dimensional Bin Packing Problem

lpsymphony - Integer Linear Programming in R

Solving the Euclidean Steiner Tree Problem in n-space

Tutorial on Integer Programming for Visual Computing

Course Introduction. Scheduling: Terminology and Classification

The MIP-Solving-Framework SCIP

Batch Scheduling of MultiProduct Pipeline Networks

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

Lagrangean Methods bounding through penalty adjustment

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems

Outline of the module

HySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems

Integer Programming and Network Modeis

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

A Nonlinear Presolve Algorithm in AIMMS

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy

Evaluating the SMT-LIB repository as a benchmark source for software verification

Transcription:

Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories Application to Scheduling Miten Mistry and Ruth Misener Wednesday 11 th January, 2017 Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 1 / 33

Optimisation & Logic Possible modelling frameworks: Generalised disjunctive programming, e.g. Grossmann & co-workers Mixed logical-linear programming, e.g. Hooker & co-workers Exisiting solution frameworks (Maravelias and Sung, 2009): Solve as a monolithic optimisation problem Solve as a monolithic satisfiability problem (Bjørner and De Moura, 2011) Decomposition methods e.g., Logic-based Benders decomposition (Jain and Grossmann, 2001; Hooker and Ottoson, 2003) Task 7 Task 4 Task 2 Machine 2 Task 6 Task 8 Task 1 Task 3 Task 5 Machine 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Time Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 2 / 33

Background Mixed Integer Optimisation Mixed Integer Linear Programming (MILP) min c x s.t. Ax b x R n x j Z, j I {1,..., n} where c R n, A R m n and b R m. Mixed Integer Nonlinear Programming (MINLP) min f(x) s.t. g(x) 0 x R n x j Z, j I {1,..., n} where f : R n R, g : R n R m. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 3 / 33

Background Propositional Satisfiability (SAT) Alphabet soup: SAT CP SMT ASP Propositional Satisfiability Constraint Programming Satisfiability Modulo Theories Answer set programming Propositional Satisfiability (SAT) Analogy to machine code Given a propositional formula ϕ (built from, and ) over a set of propositional variables, p i, i I = {1,..., n}, can we find an assignment on the p i s such that ϕ evaluates to True (satisfied)? Other Constraint Satisfaction Techniques Analogy to high level language CP, SMT, ASP Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 4 / 33

Background Constraint Programming (CP) Special constraints exploit structure found in specific applications Example: cumulative constraint mainly used in scheduling applications s: start times p: processing times c: resource consumptions C: resource consumption limit Hybridisation with MILP cumulative(s, p, c, C) Bockmayr and Kasper (1998); Jain and Grossmann (2001); Hooker and Ottoson (2003); Maravelias and Grossmann (2004); Bockmayr and Kasper (2004); Hooker (2007), etc. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 5 / 33

Background Satisfiability Modulo Theories (SMT) Reason about satisfiability (SAT) with respect to a theory Encode the SMT formula into a propositional formula and use the theory solver with the SAT solver to assess satisfiability. Can result in: Theories of Interest SAT UNSAT UNKNOWN Satisfiable Unsatisfiable For our applications usually a timeout Integer (Real) arithmetic - Interpret the symbols (0, 1, +,, =, ) in the usual way over Z (R) Arrays Combined theories - e.g. combining integer arithmetic with arrays to reason about a[i+j] Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 6 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories SAT MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories UNSAT MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories WHY UNSAT? MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories SAT MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories 0.15 x + y 0.35 0.20 x y 0.75 0.05 x + y 0.20 0.15 x y 1.50 x, y 2 Z x 2 [ 1, 2] x 2 [ 2, 2] 0.10 x 2 + y 0.00 SAT MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories (set-option :produce-unsat-cores true) (declare-const x Int) (declare-const y Int) (assert (! (>= (+ (* 0.15 x) (* 1 y)) 0.35) :named a1)) (assert (! (>= (+ (* -0.20 x) (* -1 y)) -0.75) :named a2)) (assert (! (>= (+ (* -0.05 x) (* 1 y)) 0.20) :named a3)) (assert (! (>= (+ (* 0.15 x) (* -1 y)) -1.50) :named a4)) (push) (check-sat)! SAT rise4fun.com/z3 a2 a4 a3 a1 MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories (set-option :produce-unsat-cores true) (declare-const x Int) (declare-const y Int) (assert (! (>= (+ (* 0.15 x) (* 1 y)) 0.35) :named a1)) (assert (! (>= (+ (* -0.20 x) (* -1 y)) -0.75) :named a2)) (assert (! (>= (+ (* -0.05 x) (* 1 y)) 0.20) :named a3)) (assert (! (>= (+ (* 0.15 x) (* -1 y)) -1.50) :named a4)) (push) (check-sat)! SAT (assert (! (>= x -1) :named a5)) (assert (! (<= x 2) :named a6)) (check-sat)! UNSAT a2 rise4fun.com/z3 a5 a6 a4 a3 a1 MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories (set-option :produce-unsat-cores true) (declare-const x Int) (declare-const y Int) (assert (! (>= (+ (* 0.15 x) (* 1 y)) 0.35) :named a1)) (assert (! (>= (+ (* -0.20 x) (* -1 y)) -0.75) :named a2)) (assert (! (>= (+ (* -0.05 x) (* 1 y)) 0.20) :named a3)) (assert (! (>= (+ (* 0.15 x) (* -1 y)) -1.50) :named a4)) (push) (check-sat)! SAT (assert (! (>= x -1) :named a5)) (assert (! (<= x (check-sat) (get-unsat-core) 2) :named a6))! UNSAT! (a1 a2 a6 a5) a2 rise4fun.com/z3 a5 a6 a4 a3 a1 MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories (set-option :produce-unsat-cores true) (declare-const x Int) (declare-const y Int) (assert (! (>= (+ (* 0.15 x) (* 1 y)) 0.35) :named a1)) (assert (! (>= (+ (* -0.20 x) (* -1 y)) -0.75) :named a2)) (assert (! (>= (+ (* -0.05 x) (* 1 y)) 0.20) :named a3)) (assert (! (>= (+ (* 0.15 x) (* -1 y)) -1.50) :named a4)) (push) (check-sat)! SAT (assert (! (>= x -1) :named a5)) (assert (! (<= x 2) :named a6)) (check-sat) (get-unsat-core) (pop) (assert (! (>= x -2) :named a7)) (assert (! (<= x (check-sat)! UNSAT! (a1 a2 a6 a5) 2) :named a8))! SAT a3 a2 rise4fun.com/z3 a1 a7 a8 a4 MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Background Example: Satisfiability Modulo Theories (SMT) Example: Satisfiability Modulo Theories rise4fun.com/z3! SAT! UNSAT! (a1 a2 a6 a5) a2 a7 a8 a4 a1! SAT a3! SAT MINLP meets SMT Callia D Iddio, Huth, Misener Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 7 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Two Dimensional Bin Packing (2BP) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 8 / 33

Two Dimensional Bin Packing Logical Formulation Given items j {1,..., n} with widths W j and heights H j. Given n bins with width W and height H. min s.t. n b=1 c b n ζ jb b=1 (ζ ib ζ jb ) b b ζ jb { (x i + W i x j ) (x j + W j x i ) ζ jb ζ b ζ b (c b = 1), ζ b (c b = 0) 0 x j W j, H j y j H (y i H i y j ) (y j H j y i ) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 9 / 33

Two Dimensional Bin Packing Mixed Integer Formulation min s.t. n b=1 z b n z jb = 1 b=1 x i + W i x j + M 1 ij(1 z 1 ij), x j + W j x i + M 2 ij(1 z 2 ij) y i H i y j Mij(1 3 zij), 3 y j H j y i Mij(1 4 zij) 4 4 n zij k = z ib z jb k=1 b=1 z b z jb 0 x j W j, H j y j H Big-M Formulation, No Symmetry Breaking Lodi et al. (2002); Trespalacios and Grossmann (2016) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 10 / 33

Two Dimensional Bin Packing Primal SMT UNKNOWN Return: UNKNOWN Initialise Model Solve Model Status? UNSAT Return: Optimal Solution/UNSAT SAT Set all unused bins to False. Set an extra bin to False. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 11 / 33

Two Dimensional Bin Packing Dual SMT Use unsatisfiable core UNKNOWN Return: UNKNOWN Initialise Model. All but first bins are set to False. Solve Model. Status? SAT Return: Optimal Solution UNSAT Add extra bin. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 12 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Dual SMT Fixing items in bins Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 13 / 33

Two Dimensional Bin Packing Numerical Results Problem Set 500 problems (Lodi et al., 1999) 10 classes each class has 50 problems each problem has 20,40,60,80 or 100 items (10 of each) Each problem given a time limit of 3600s SMT solver: Z3 MILP solver: Gurobi Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 14 / 33

Two Dimensional Bin Packing Numerical Results Problems Solved Class SMT-Primal SMT-Dual MILP 1 11 22 6 2 11 11 10 3 17 32 9 4 12 12 11 5 13 30 12 6 14 14 13 7 10 11 1 8 10 11 2 9 1 37 49 10 21 24 7 Table: Number of problems solved to optimality within 3600s by each of the approaches. Each problem class has 50 problems. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 15 / 33

Two Dimensional Bin Packing Numerical Results (500 Bin packing problems, 20-100 items) Performance Profile (Dolan and Moré, 2002) 0.6 0.5 0.4 SMT-Primal SMT-Dual MILP Can solve ρ 0.3 0.2 0.1 0 10 0 10 1 10 2 10 3 τ Best in class: Pisinger and Sigurd (2007) Constraint satisfaction + Dantzig-Wolfe decomposition Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 16 / 33

Two Dimensional Bin Packing Numerical Results Pecentage Gaps Percentage gap: upper bound lower bound upper bound Class SMT MILP 1 12.5 24.6 2 53.7 66.2 3 4.9 33.3 4 51.7 65.0 5 9.3 21.0 6 47.3 61.1 7 31.2 60.0 8 31.1 58.4 9 11.8 0.1 10 11.6 53.4 Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 17 / 33

Scheduling Scheduling Problem Definiton Given a set of facilities each with a limit on the amount of resources available at any given time. Also, given a set of tasks where each task has release and due times and per facility resource consumption rate and processing time. What is the optimal assignment of tasks to facilities such that we are optimal according to our objective? Objectives we study Minimise cost (addition parameter - cost of assignment) Minimise makespan Minimise tardiness We study a hybrid strategy We implement the hybrid formulations of Hooker (2007) Occurs in the manufacturing and supply chain context Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 18 / 33

Scheduling Mixed Integer Formulation Discrete time model Minimum cost min ijt F ij x ijt s.t. x ijt = 1 it j t T ijt c ij x ijt C i x ijt = 0, t < r j or t > d j p ij where x ijt is binary and T ijt = {t t p ij < t t}. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 19 / 33

Scheduling Logical Formulations Continuous time model Minimum cost min j f j s.t. s j r j ζ ij (s j d j p ij ) ζ ij i i i ζ ij ζ ij c ij C i (s j + p ij s j) j J j J j j ζ ij (f j = F ij ) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 20 / 33

Scheduling Logical Formulations Relation to Bin Packing Time j c ij C i C Time Link between resource constrained scheduling & bin packing Garey et al. (1976); Castro and Grossmann (2012) Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 21 / 33

Scheduling Optimisation strategies Mixed-Integer Programming Problem 0 < z < 1 Satisfiability Modulo Theories tighten objective bound Subproblem 1 Subproblem 2 z = 0 z = 1 SMT optimum MIP + SMT assignment MILP SMT optimum cuts Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 22 / 33

Scheduling Hybrid Scheduling Minimise cost On each iteration, add a cut that removes the current assignment or a subset (subset results in a stronger cut) Minimise makespan On each iteration, add a cut based on local makespans Minimise tardiness On each iteration, add a cut based on local tardiness Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 23 / 33

Scheduling Numerical Results Experimental Setup 335 problems 1 4 classes of problems: c, de, df, e 5 problems for each (i,j) instance Each problem given a time limit of 3600s Same set of problems used and generated by Hooker (2007). We compare our findings with his MILP/CP approach. SMT solver: Z3 MILP solver: Gurobi Hooker (2007) reports that the hybrid approach is the best choice for each objective 1 http://web.tepper.cmu.edu/jnh/instances.htm Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 24 / 33

Scheduling Numerical Results Minimum Cost 1 0.9 0.8 0.7 0.6 ρ 0.5 0.4 0.3 0.2 0.1 SMT MILP Hybrid Hybrid with relaxation Can solve 0 10 0 10 1 10 2 10 3 τ Figure: Solution time performance profile for all minimum cost models. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 25 / 33

Scheduling Numerical Results Minimum Cost problems solved within τ number of problems 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1 10 100 1,000 τ = run time best run time SMT MILP Hybrid Can solve Figure: Solution time performance profile for non toy minimum cost models. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 26 / 33

Scheduling Numerical Results Minimum Makespan problems solved within τ number of problems 0.9 0.8 0.7 0.6 0.5 0.4 0.3 SMT MILP 0.2 Hybrid 0.1 Can solve 0 1 10 100 1,000 τ = run time best run time Figure: Solution time performance profile for non toy minimum makespan problems. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 27 / 33

Scheduling Stepping Back What computer science methods should we incorporate? Satisfiability modulo theories Software verification Potential Hybrid optimisation/logic; Optimisation explainers e.g., Mistry and Misener (2017); Lundbaek et al. (2016) Anytime algorithms Artificial intelligence Potential Improve primal solutions, Approximation algorithms Theoretical computer science Potential Heuristic solutions with performance guarantees e.g., Furman and Sahinidis (2001), Ahmed and Sahinidis (2003) Functional programming Programming languages Potential Pattern matching, parallel programming e.g., Ceccon et al. (2016), Camarda & co-workers Others: Machine learning, Data science, Internet of things, HPC Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 28 / 33

Thank You Thank you for listening. Questions? Funding: EPSRC EP/M028240/1, RAEng Fellowship Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 29 / 33

References I Bjørner, N. and De Moura, L. (2011). Satisfiability Modulo Theories: Introduction and Applications. Communications of the ACM, 54(9):69 77. Bockmayr, A. and Kasper, T. (1998). Branch and Infer: A Unifying Framework for Integer and Finite Domain Constraint Programming. INFORMS Journal on Computing, 10(3):287 300. Bockmayr, A. and Kasper, T. (2004). Constraint and Integer Programming: Toward a Unified Methodology, chapter Branch-and-Infer: A Framework for Combining CP and IP, pages 59 87. Springer US, Boston, MA. Castro, P. M. and Grossmann, I. E. (2012). From time representation in scheduling to the solution of strip packing problems. Computers & Chemical Engineering, 44:45 57. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 30 / 33

References II Ceccon, F., Kouyialis, G., and Misener, R. (2016). Using functional programming to recognize named structure in an optimization problem: Application to pooling. AIChE Journal, 62(9):3085 3095. Dolan, E. D. and Moré, J. J. (2002). Benchmarking optimization software with performance profiles. Math Program, 91(2):201 213. Garey, M. R., Graham, R. L., Johnson, D. S., and Yao, A. C.-C. (1976). Resource constrained scheduling as generalized bin packing. J Combin Theory, Ser A, 21(3):257 298. Hooker, J. N. (2007). Planning and Scheduling by Logic-Based Benders Decomposition. Operations Research, 55(3):588 602. Hooker, J. N. and Ottoson, G. (2003). Logic-based Benders decomposition. Mathematical Programming, 96(1):33 60. Jain, V. and Grossmann, I. E. (2001). Algorithms for Hybrid MILP/CP Models for a Class of Optimization Problems. INFORMS Journal on Computing, 13(4):258 276. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 31 / 33

References III Lodi, A., Martello, S., and Monaci, M. (2002). Two-dimensional packing problems: A survey. European Journal of Operational Research, 141(2):241 252. Lodi, A., Martello, S., and Vigo, D. (1999). Heuristic and metaheuristic approaches for a class of two-dimensional bin packing problems. INFORMS Journal on Computing, 11(4):345 357. Lundbaek, L.-N., Callia D Iddio, A., and Huth, M. (2016). Optimizing governed blockchains for financial process authentications. arxiv preprint arxiv:1612.00407. Maravelias, C. T. and Grossmann, I. E. (2004). A hybrid MILP/CP decomposition approach for the continuous time scheduling of multipurpose batch plants. Computers & Chemical Engineering, 28(10):1921 1949. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 32 / 33

References IV Maravelias, C. T. and Sung, C. (2009). Integration of production planning and scheduling: Overview, challenges and opportunities. Computers & Chemical Engineering, 33(12):1919 1930. Mistry, M. and Misener, R. (2017). Integrating mixed-integer optimisation & satisfiability modulo theories: Application to scheduling. In Maravelias, Wassick, et al., editors, Computer-Aided Chemical Engineering. Pisinger, D. and Sigurd, M. (2007). Using decomposition techniques and constraint programming for solving the two-dimensional bin-packing problem. INFORMS Journal on Computing, 19(1):36 51. Trespalacios, F. and Grossmann, I. E. (2016). Symmetry breaking for generalized disjunctive programming formulation of the strip packing problem. Annals of Operations Research, pages 1 13. Mistry & Misener MIP & SMT Wednesday 11 th January, 2017 33 / 33