SCIP | 数学规划求解器SCIP超详细的使用教程
前言
小伙伴们大家好呀!继上次lp_solve规划求解器的推文出来以后,大家都期待着更多求解器的具体介绍和用法。小编哪敢偷懒,这不,赶在考试周之际,又在忙里偷闲中给大家送上一篇SCIP规划求解的推文教程。快一起来看看吧。
Part1 惯例科普篇
What is SCIP?
官方的介绍:
SCIP is currently one of the fastest non-commercial solvers for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a framework for constraint integer programming and branch-cut-and-price. It allows for total control of the solution process and the access of detailed information down to the guts of the solver.
SCIP is a framework for Constraint Integer Programming oriented towards the needs of mathematical programming experts who want to have total control of the solution process and access detailed information down to the guts of the solver. SCIP can also be used as a pure MIP and MINLP solver or as a framework for branch-cut-and-price.
SCIP is implemented as C callable library and provides C++ wrapper classes for user plugins. It can also be used as a standalone program to solve mixed integer programs given in various formats such as MPS, LP, flatzinc, CNF, OPB, WBO, PIP, etc. Furthermore, SCIP can directly read ZIMPL models.
有关SCIP概述及其算法的实现原理方法更多详情,可以点击下面链接下载相关文档:
- Constraint Integer Programming: a New Approach to Integrate CP and MIP
(http://opus.kobv.de/zib/volltexte/2008/1081/pdf/ZR_08_01.pdf) - SCIP: Solving Constraint Integer Programs
(http://mpc.zib.de/index.php/MPC/article/view/4)
SCIP的更详细描述:
-
Constraint Integer Programming
(http://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/1112)
有关凸与非凸MILPS的全局优化的非线性求解特征:
-
SCIP: Global Optimization of Mixed-Integer Nonlinear Programs in a Branch-and-Cut Framework
SCIP Optimization
SuiteSCIP优化套件是用于生成和求解混合整数非线性规划模型、混合整数线性规划模型和整数约束规划模型的工具集。 它由以下部分组成:
- SCIP mixed integer (linear and nonlinear) programming solver and constraint programming framework
- SoPlex linear programming solver
- ZIMPL mathematical programming language
- UG parallel framework for mixed integer (linear and nonlinear) programs
- GCG generic branch-cut-and-price solver
用户可以使用建模语言ZIMPL轻松生成线性,混合整数和混合整数二次约束的规划模型。 得到的模型可以直接加载到SCIP中并求解。 在解决方案过程中,SCIP可以使用SoPlex作为底层LP求解器。
上面五个组件都可以获得它们的源代码,并且都是免费的。因此它们是用于学术研究和混合整数编程的理想工具。
可以点击下面链接下载SCIP Optimization Suite:
(https://scip.zib.de/index.php#download)
目前最新版本是SCIP version 6.0.0。
支持以下平台:
- Linux
- Mac
- Windows
- SunOS
- Android
SCIP的特点
对于SCIP,它主要有以下几个优点:
- very fast standalone solver for linear programming (LP), mixed integer programming (MIP), and mixed integer nonlinear programming (MINLP)
- framework for branching, cutting plane separation, propagation, pricing, and Benders' decomposition,
- large C-API, C++ wrapper classes for user plugins
- interfaces to other applications and programming languages (contained in source code packages or available from http://github.com/SCIP-interfaces):
Python
Java
AMPL
GAMS
MATLAB