
Introduction to SCIP Gregor Hendel, [email protected] SCIP Introduction Day September 26, 2018 3rd IMI-ISM-ZIB MODAL Workshop 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, [email protected] { SCIP Introduction 1/70 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, [email protected] { SCIP Introduction 2/70 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, [email protected] { SCIP Introduction 3/70 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, [email protected] { SCIP Introduction 4/70 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, [email protected] { SCIP Introduction 5/70 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, [email protected] { SCIP Introduction 5/70 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, [email protected] { SCIP Introduction 5/70 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, [email protected] { SCIP Introduction 6/70 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, [email protected] { SCIP Introduction 7/70 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, [email protected] { SCIP Introduction 7/70 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, [email protected] { SCIP Introduction 7/70 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, [email protected] { SCIP Introduction 7/70 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, [email protected] { SCIP Introduction 7/70 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, [email protected] { SCIP Introduction 8/70 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, [email protected] { SCIP Introduction 8/70 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, [email protected] { SCIP Introduction 9/70 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, [email protected] { SCIP Introduction 9/70 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, [email protected] { SCIP Introduction 10/70 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, [email protected] { SCIP Introduction 11/70 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, [email protected] { SCIP Introduction 12/70 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, [email protected] { SCIP Introduction 12/70 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, [email protected] { SCIP Introduction 12/70 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, [email protected] { SCIP Introduction 12/70 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, [email protected] { SCIP Introduction 12/70 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, [email protected] { SCIP Introduction 12/70 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.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages108 Page
-
File Size-