|
1
|
- Brenda Dietrich
- Robin Lougee-Heimer
|
|
2
|
- COIN-OR is
- A repository of source code, models, data, examples
- Available for re-use
- Under open-source licenses
- Powered by volunteers
|
|
3
|
- A category of software licenses
- Rules by which code can be used, copied, modified, distributed,...
- Freely available, usually via Internet
- Changes typically given back
- A philosophy
- Healthy virtual community
- Debugs, maintains, enhances the source
|
|
4
|
- All open-source licenses are the same
- E.g., Viral vs. non-viral
- “Free for academic use only” is open source
- Open source is the same as freeware/shareware
- Binary executable to end-user software
- Restricted intellectual property rights
- COIN-OR recommends the Common Public License
- OSI-certified open source license which permits IBM (and others) to
share AND still use the code in commercial products.
|
|
5
|
|
|
6
|
- Reuse rather than reinvent
- Fairer comparisons
- Build on the best
- Promote standards
- Foster collaboration and cross-pollination
- Outlet for software not “product destined”
|
|
7
|
- Vehicle for IBM Research working with universities
- Alternatives
- Awards with no strings attached
- Employment as a “work for hire”
- Shared control enables true collaboration and invention
- Lessened IP issues
- Concept expanding to other areas of IBM interest
|
|
8
|
- Vehicle for
working with universities
- Alternatives
- Awards with no strings attached
- Employment as a “work for hire”
- Shared control enables true collaboration and invention
- Lessened IP issues
- Concept expanding to other areas of IBM interest
|
|
9
|
- Companies
- Universities
- Individuals
- IBM
|
|
10
|
|
|
11
|
- Brunel
- Carl von Ossietzky University, Oldenburg
- Carnegie Mellon
- Clemson
- Cornell
- Konrad-Zuse-Zentrum für Informationstechnik Berlin
- Lehigh
- Northwestern
- Politecnico di Milano
- Rutgers
- Simon Fraser University
- Universite de Geneve
- U of Arizona
- U of Pittsburgh
- U of São Paulo
- U of Washington
- U of Waterloo
- ….
|
|
12
|
|
|
13
|
- External Consulting
- Yield Management for a railway
- Space allocation and payload balancing
- Service offerings
- Watson Implosion Tool (WIT)
- New version of EasyModeler
- Internal Consulting
- EinsTuner
- The design of every custom microprocessor developed by IBM uses
nonlinear optimization software available on COIN-OR.
- Basic Research, e.g.,
- Simultaneously branch and price
- Two Mixed Integer Rounding Cuts
|
|
14
|
|
|
15
|
- COIN-OR Foundation, Inc
- Educational non-profit corporation
- Established 2004
- Hosted by
- True community ownership
- Milestone accomplishment
- IBM is participating and supporting
- COIN-OR is more open
- IBM is not less interested
|
|
16
|
|
|
17
|
|
|
18
|
- A scalable, high-performance tree-search engine
- Improves on the simple master-worker scheme of BCP and SYMPHONY
- Supports general tree-search algorithms
- Integer
- Global optimization
- Constraint programming
- Frees developers from worrying about implementing the tree manager
- Designed to support data-intensive problems
- Ted Ralphs, Project Manager
|
|
19
|
- Branch-Cut-Price Library
- Framework for creating custom LP-based branch-cut-price codes to solve Mixed Integer Programs
(MIPs)
- Parallel management
- Any OSI-capable LP solver
- Any cuts from CGL
- Allows development of efficient problem class specific MIP algorithms
with minimal implementation effort
- Laszlo Ladanyi, Project Manager
|
|
20
|
- Branch and cut code to solve mixed-integer programs
- Designed to work with
- Any OSI-capable solver
- Any cuts from the CGL
- Flexibility
- Designed to be much more flexible than commercial codes
- Facilitates user written
- Branching strategies
- Node selection
- Heuristics
- Cutting planes
- John Forrest, Project Manger
|
|
21
|
- User interaction
- Black box solver for MILPs
- MPS files
- GMPL files
- FLOPC++
- Callable library
- Customizable framework
- Execution modes
- Sequential
- Shared memory parallel
- Distributed memory parallel
- Additional functionality
- Multicriteria MILP solver
- Basic sensitivity analysis
- Warm starting
- Ted Ralphs, Project Manager
|
|
22
|
- A framework for Tabu Search
- Clean design and class structure
- Solution
- Tabu List
- Move
- Move Manger
- Objective Function
- Enables quick development
- Reactive search
- Learning search
- Self-expanding search
- Written in Java
- Can exploit multi-processor systems
- Can be embedded in Enterprise JavaBeans Framework
- Robert Harder, Project Manager
|
|
23
|
|
|
24
|
- A uniform API for calling math programming solvers
- Supports functions such as
- Creating the LP formulation;
- Directly modifying the formulation by adding rows/columns;
- Modifying the formulation by adding cutting planes provided by CGL;
- Solving the formulation (and resolving after modifications);
- Extracting solution information;
- Invoking the underlying solver's branch-and-bound component.
- 11 OSI interfaces have been implemented
- CLP - John Forest
- CPLEX - Tobias Achterberg
- dylp - Lou Hafer
- FortMP – Patrick Valente
- GLPK - Brady Hunsaker
- MOSEK – Bo Jensen
- OSL - Laszlo Ladanyi
- SOPLEX – Tobias Achterberg
- SYMPHONY - Menal Guzelsoy
- VOL – Laszlo Ladanyi
- XPRESS-MP – Matthew Saltzman
- Matt Saltzman, Meta-project Manager
|
|
25
|
|
|
26
|
- An API for defining and solving nonlinear programming (NLP) problems
- A set of C subroutines that create, modify and query in a data structure
which represents the problem.
- Interfaces to LANCELOT and IPOPT are available
- Michael Henderson, Project Manager
|
|
27
|
- Enables communication of stochastic data and solutions between modeling
environments and solvers
- Alan King, Project Manager
- Christian Condevaux-Lanloy, key developer
|
|
28
|
|
|
29
|
- A high-quality open-source linear program solver
- Simplex
- Interior point
- Quadratic objective
- Extensible matrix format
- Pivot-level control
- John Forrest, Project Manger
|
|
30
|
- Solver for general nonlinear optimization problems with
- Small (<100) number of variables
- Expensive to evaluate functions
- Derivatives or their estimates not available
- Katya Scheinberg, Project Manager
|
|
31
|
- Implementation of the Dynamic Simplex Algorithm
- Padberg, Linear Optimization and Extensions
- Research code
- Designed as a LP solver for use in an LP-based branch-cut-price MIP
solver
- Flexibility over speed
- Copious trace output
- Extensive consistency checks
- Lou Hafer, Project Manager
|
|
32
|
- An interior point algorithm for nonlinear, non-convex, constrained
optimization problems
- Andreas Waechter, Project Manager
|
|
33
|
- A subgradient method that produces approximate primal as well as dual
solutions
- Scales exceptionally well on large problems with combinatorial
structure
- Primal solution comes from estimating the volumes below the faces of
the dual problem.
- Small infeasibilities in the primal vector are negligible in many
practical settings.
- The original subgradient algorithm produces only dual solutions.
- Francisco Barahona, Project Manager
|
|
34
|
|
|
35
|
- A library of cutting plane generators
- Standardized format
- More than 11 cut available
- Cliques – Laszlo Ladanyi
- Duplicate Row – John Forrest
- Flow Cover – Yan Xu
- Gomory – John Forrest
- Knapsack Cover - Robin
Lougee-Heimer
- Lift-and-project cuts using "norm 1" -
- Robin Lougee-Heimer
- Mixed-Integer Rounding – Joao Goncalves
- Odd Hole – John Forrest
- Probing – John Forrest
- Simple Rounding – Robin Lougee-Heimer
- Two mixed-integer rounding – Oktay Gunluk
- Robin Lougee-Heimer, Meta-project Manager
|
|
36
|
- Library of utilities used by multiple projects
- Laszlo Ladanyi, Project Manager
|
|
37
|
- Given a C++ algorithm that computes function values, CppAD generates an
algorithm that computes its derivative values
- The step by step conversion from an algorithm that computes function
values to an algorithm that computes derivative values is Algorithmic
Differentiation (often referred to as Automatic Differentiation)
- Brad Bell, Project Manager
|
|
38
|
- A C library for finding solutions to nonlinear systems of equations with
a small number of parameters.
- Uses user-supplied domain specific solver, to which Multifario presents
a sequence of problems at carefully chosen parameter values.
- The resulting set of solutions covers the solution manifold in a
specific part of parameter space.
- Interfaces to LOCA and AUTO packages
- Reference implementation of published algorithm
- Mike Henderson, Project Manager
|
|
39
|
- Open-Source Lab at Oregon State University
- First of its kind at public university
- Cyberinfrastructure NSF
- Hardware, software, data testbeds
- Is a “service”, like the interstate
- A lot of people want to drive on the road, not many want to lay tar.
- Maintainable (pot holes! Road crews)
- Accessible (entrance ramps; mgt)
- Useable (road signs)
- Taxes? Tolls? Billboards?
- Examples
|
|
40
|
- Documentation
- Ease of use
- Recognition
- Testing
- Intellectual Property
- Maintenance
|
|
41
|
- www.coin-or.org
- NEOS
- Products
- E.g, Frontline Systems and Knitro
- Support
- Free
- E.g, coin-discuss@list.coin-or.org
- Buy
|
|
42
|
|