Introduction to SCIP 11:00–11:30 Coffee Break 11:30–12:30 Installation of SCIP and GCG 12:30–14:00 Lunch 14:00–17:30 Programming Exercises 15:30–16:00 Coffee Break

Introduction to SCIP 11:00–11:30 Coffee Break 11:30–12:30 Installation of SCIP and GCG 12:30–14:00 Lunch 14:00–17:30 Programming Exercises 15:30–16:00 Coffee Break

SCIP Workshop 2018 Structure of the SCIP Introduction Day 9:30{11:00 Introduction to SCIP 11:00{11:30 Coffee Break 11:30{12:30 Installation of SCIP and GCG 12:30{14:00 Lunch 14:00{17:30 Programming Exercises 15:30{16:00 Coffee Break Visit scip.zib.de/workshop2018 for all information. Tomorrow and on Thursday: Scientific Talks Plenary Talk Wednesday, 11:30 Ruth Misener, Imperial College London, UK Gregor Hendel { SCIP Introduction 1/71 Introduction to SCIP Gregor Hendel SCIP Workshop 2018, Aachen, March 6, 2018 What is SCIP? SCIP (Solving Constraint Integer Programs) . • provides a full-scale MIP and MINLP solver, • is constraint based, • incorporates • MIP features (cutting planes, LP relaxation), and • MINLP features (spatial branch-and-bound, OBBT) • CP features (domain propagation), • SAT-solving features (conflict analysis, restarts), • is a branch-cut-and-price framework, • has a modular structure via plugins, • is free for academic purposes, • and is available in source-code under http://scip.zib.de ! Gregor Hendel { SCIP Introduction 2/71 Meet the SCIP Team 31 active developers • 7 running Bachelor and Master projects • 16 running PhD projects • 8 postdocs and professors 4 development centers in Germany • ZIB: SCIP, SoPlex, UG, ZIMPL • TU Darmstadt: SCIP and SCIP-SDP • FAU Erlangen-N¨urnberg: SCIP • RWTH Aachen: GCG Many international contributors and users • more than 10 000 downloads per year from 100+ countries Careers • 10 awards for Masters and PhD theses: MOS, EURO, GOR, DMV • 7 former developers are now building commercial optimization software at CPLEX, FICO Xpress, Gurobi, MOSEK, and GAMS Gregor Hendel { SCIP Introduction 3/71 Outline SCIP {SolvingConstraintIntegerPrograms Constraint Integer Programming The Solving Process of SCIP Extending SCIP by Plugins The SCIP Optimization Suite http://scip.zib.de Gregor Hendel { SCIP Introduction 4/71 Outline SCIP {SolvingConstraintIntegerPrograms Constraint Integer Programming The Solving Process of SCIP Extending SCIP by Plugins The SCIP Optimization Suite http://scip.zib.de Gregor Hendel { SCIP Introduction 5/71 An example: the Traveling Salesman Problem Definition (TSP) Given a complete graph G = (V ; E) and distances de for all e 2 E: Find a Hamiltonian cycle (cycle containing all nodes, tour) of minimum length. K8 Gregor Hendel { SCIP Introduction 6/71 An example: the Traveling Salesman Problem Definition (TSP) Given a complete graph G = (V ; E) and distances de for all e 2 E: Find a Hamiltonian cycle (cycle containing all nodes, tour) of minimum length. K8 Gregor Hendel { SCIP Introduction 6/71 An example: the Traveling Salesman Problem Definition (TSP) Given a complete graph G = (V ; E) and distances de for all e 2 E: Find a Hamiltonian cycle (cycle containing all nodes, tour) of minimum length. Gregor Hendel { SCIP Introduction 6/71 What is a Constraint Integer Program? Mixed Integer Program Constraint Program Objective function: Objective function: . linear function . arbitrary function Feasible set: Feasible set: . described by linear constraints . given by arbitrary constraints Variable domains: Variable domains: . real or integer values . arbitrary (usually finite) min cT x min c(x) s:t: Ax ≤ b s:t: x 2 F I C I (xI ; xC ) 2 Z × R (xI ; xN ) 2 Z × X Gregor Hendel { SCIP Introduction 7/71 X min de xe e2E X subject to xe = 2 8v 2 V e2δ(v) X xe ≥ 2 8S ⊂ V ; S 6= ? e2δ(S) xe 2 f0; 1g 8e 2 E TSP { Integer Programming Formulation Given • complete graph G = (V ; E) xe • distances de > 0 for all e 2 E Binary variables • xe = 1 if edge e is used K8 Gregor Hendel { SCIP Introduction 8/71 TSP { Integer Programming Formulation Given • complete graph G = (V ; E) xe • distances de > 0 for all e 2 E Binary variables • xe = 1 if edge e is used K8 X min de xe e2E X subject to xe = 2 8v 2 V e2δ(v) X xe ≥ 2 8S ⊂ V ; S 6= ? e2δ(S) xe 2 f0; 1g 8e 2 E Gregor Hendel { SCIP Introduction 8/71 TSP { Integer Programming Formulation Given • complete graph G = (V ; E) xe • distances de > 0 for all e 2 E Binary variables • xe = 1 if edge e is used K8 X min de xe e2E X subject to xe = 2 8v 2 V node degree e2δ(v) X xe ≥ 2 8S ⊂ V ; S 6= ? e2δ(S) xe 2 f0; 1g 8e 2 E Gregor Hendel { SCIP Introduction 8/71 TSP { Integer Programming Formulation Given • complete graph G = (V ; E) xe • distances de > 0 for all e 2 E Binary variables • xe = 1 if edge e is used K8 X min de xe e2E X subject to xe = 2 8v 2 V e2δ(v) X xe ≥ 2 8S ⊂ V ; S 6= ? e2δ(S) subtour elimination xe 2 f0; 1g 8e 2 E Gregor Hendel { SCIP Introduction 8/71 TSP { Integer Programming Formulation Given • complete graph G = (V ; E) xe • distances de > 0 for all e 2 E Binary variables • xe = 1 if edge e is used K8 X min de xe distance e2E X subject to xe = 2 8v 2 V e2δ(v) X xe ≥ 2 8S ⊂ V ; S 6= ? e2δ(S) xe 2 f0; 1g 8e 2 E Gregor Hendel { SCIP Introduction 8/71 8 7 2 3 1 4 6 5 min length(x1;:::; xn) subject to alldifferent(x1;:::; xn) xv 2 f1;:::; ng 8v 2 V TSP { Constraint Programming Formulation Given • complete graph G = (V ; E) xv • for each e 2 E a distance de > 0 Integer variables • xv position of v 2 V in tour K8 Gregor Hendel { SCIP Introduction 9/71 xv K8 TSP { Constraint Programming Formulation 8 Given 7 2 • complete graph G = (V ; E) • for each e 2 E a distance de > 0 3 1 Integer variables 4 6 • xv position of v 2 V in tour 5 min length(x1;:::; xn) subject to alldifferent(x1;:::; xn) xv 2 f1;:::; ng 8v 2 V Gregor Hendel { SCIP Introduction 9/71 What is a Constraint Integer Program? Constraint Integer Program min cT x Objective function: s:t: x 2 F I C . linear function (xI ; xC ) 2 Z × R Feasible set: Remark: . described by arbitrary constraints • arbitrary objective or variables modeled by constraints Variable domains: . real or integer values Gregor Hendel { SCIP Introduction 10/71 What is a Constraint Integer Program? Constraint Integer Program X min de xe e E 2X Objective function: s:t: xe = 2 8 v 2 V e δ(v) 2 . linear function nosubtour(x) xe 2 f0; 1g 8 e 2 E Feasible set: (CIP formulation of TSP) . described by arbitrary constraints Single nosubtour constraint rules out subtours (e.g. by domain prop- Variable domains: agation). It may also separate sub- tour elimination inequalities. real or integer values Gregor Hendel { SCIP Introduction 10/71 Mixed-Integer Nonlinear Programs (MINLPs) min cTx s.t. gk (x) ≤ 0 8k 2 [m] xi 2 Z 8i 2 I ⊆ [n] xi 2 [`i ; ui ] 8i 2 [n] 1 The functions gk 2 C ([`; u]; R) can be 0 100 200 10 200 300 0 200 5 0 −200 −1 1 −1 1 convex or nonconvex Gregor Hendel { SCIP Introduction 11/71 Application: Data Classification Support Vector Machine, e.g., with ramp loss. n w Tw C X min + (ξ + 2(1 − z )) 2 n i i i=1 T s.t. zi (yi (w xi + b) − 1 + ξi ) ≥ 0 8i ξi 2 [0; 2]; zi 2 f0; 1g 8i d w 2 R ; b 2 R Gregor Hendel { SCIP Introduction 12/71 CIP • SATisfiability problems • Pseudo-Boolean Optimization • Mixed Integer Nonlinear Programs SAT PBO MINLP CP • Constraint Programming • Constraint Integer Programming Relation to CP and MIP • Every MIP is a CIP. \MIP ( CIP" • Every CP over a finite domain space is a CIP. \FD ( CIP" Constraint Integer Programming • Mixed Integer Programs MIP Gregor Hendel { SCIP Introduction 13/71 CIP • Pseudo-Boolean Optimization • Mixed Integer Nonlinear Programs PBO MINLP CP • Constraint Programming • Constraint Integer Programming Relation to CP and MIP • Every MIP is a CIP. \MIP ( CIP" • Every CP over a finite domain space is a CIP. \FD ( CIP" Constraint Integer Programming • Mixed Integer Programs • SATisfiability problems MIP SAT Gregor Hendel { SCIP Introduction 13/71 CIP • Mixed Integer Nonlinear Programs MINLP CP • Constraint Programming • Constraint Integer Programming Relation to CP and MIP • Every MIP is a CIP. \MIP ( CIP" • Every CP over a finite domain space is a CIP. \FD ( CIP" Constraint Integer Programming • Mixed Integer Programs • SATisfiability problems MIP • Pseudo-Boolean Optimization SAT PBO Gregor Hendel { SCIP Introduction 13/71 CIP CP • Constraint Programming • Constraint Integer Programming Relation to CP and MIP • Every MIP is a CIP. \MIP ( CIP" • Every CP over a finite domain space is a CIP. \FD ( CIP" Constraint Integer Programming • Mixed Integer Programs • SATisfiability problems MIP • Pseudo-Boolean Optimization • Mixed Integer Nonlinear Programs SAT PBO MINLP Gregor Hendel { SCIP Introduction 13/71 CIP • Constraint Integer Programming Relation to CP and MIP • Every MIP is a CIP. \MIP ( CIP" • Every CP over a finite domain space is a CIP. \FD ( CIP" Constraint Integer Programming • Mixed Integer Programs • SATisfiability problems MIP • Pseudo-Boolean Optimization • Mixed Integer Nonlinear Programs SAT PBO MINLP CP • Constraint Programming Gregor Hendel { SCIP Introduction 13/71 Relation to CP and MIP • Every MIP is a CIP. \MIP ( CIP" • Every CP over a finite domain space is a CIP. \FD ( CIP" Constraint Integer Programming CIP • Mixed Integer Programs • SATisfiability problems MIP • Pseudo-Boolean Optimization • Mixed Integer Nonlinear Programs SAT PBO MINLP CP • Constraint Programming • Constraint Integer Programming Gregor Hendel { SCIP Introduction 13/71 Constraint Integer Programming CIP • Mixed Integer Programs • SATisfiability problems MIP • Pseudo-Boolean Optimization • Mixed Integer Nonlinear Programs SAT PBO MINLP CP • Constraint Programming • Constraint Integer Programming Relation to CP and MIP • Every MIP is a CIP.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    109 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us