Professional Documents
Culture Documents
Optimization Library
{Zhouwang Yang,RuiminWang}@MathU
SchoolofMathematicalScience
UniversityofScienceandTechnologyofChina
ZhouwangYang RuiminWang
UniversityofScienceandTechnologyofChina(USTC)
Mathematical
Optimization
The selection of a best element from some set
of available alternatives
Long history
Fermat&Lagrange:calculusbasedformulas
Newton&Gauss:iterativemethod
Mathematical
Optimization
Various subfields
Convexprogramming
Integerprogramming
Fractionalprogramming
Nonlinearprogramming
Stochasticprogramming
Robustprogramming
Dynamicprogramming
Combinatorialoptimization
Infinitedimensionaloptimization
Mathematical
Optimization
Very useful in many fields
Industry
Bioinformatics
Financialengineering
Machinelearning/Datamining
Existing tools
Matlab optimizationtoolbox (commercial)
Scipy (free)
Variousopenlibraries(C/C++,Python,)
Motivation
Hard to follow and extend
Matlab actuallyusesCasunderlyingcode
SodoesPython
Frameworkdiffersalotfromeachotherinopen
libraries
Motivation
To build a domestic library for optimization
study
A fast implementation
Forresearchers/ followers
Crossplatform
IDEindependentskills
gcc,g++,gfotran
MakeFile orCMakeList.txt
Experience:
biggerexperienceonsmallerhardware
Why C++
Why C++
Why C++
Efficiency
Flexibility
Abstraction
Productivity
Matlab
Not object oriented
Nounifiedformofcode
HardforEncapsulation
Interface
Commercial
Python
Efficiency
Script
Great Language
Easyforlearning
API is provided
COPT
C++
Open
Optimization
Library
Created in China
ProposedbytheSocietyofMathematicalProgramming
DevelopedbyMathU
COPT
Designer: Ruimin Wang
BachelordegreeinUSTCin2011
PhDcandidateinUSTCsince2011
Academic experience
Decouplingfeaturesandnoisesviaanalysisbasedcompressed
sensing(2012)
Shapemodelingbydrawing(2012)
Pointbaseddifferentialcomputation(2013)
Manifoldconstructionviadictionarylearning(2013)
Sparserepresentationwithparameterizationoptimization
(2014)
Sparsity ingeometry(2014)
COPT
Definethescalartype
A Simple Example
Definethescalartype
DefinetheArray,basicclassforvectorandmatrix
A Simple Example
Definethescalartype
DefinetheArray,basicclassforvectorandmatrix
DefinetheVectorandMatrix
Operations
Operations
Arraylikeassignment
Matlablikeassignmentisalsoallowed:
likevec1(0)=1
Operations
Operations
Operations
Operations
Output:
Operations
Operations
Predefinedspecialmatrix
Operations
Operations
Developing environment
OSXYosemitewithclang
MinGW onwindowswithg++
IDEindependent
Dependency
Lightweight development
GitHub
f (x) 100 x2 x
2 2
1 x 2
1 1
A Simple Example
A Simple Example
A Simple Example
A Simple Example
Stuff
Students in MathU:
RuiminWang,wangrm@mathu.cn
Songtao Guo,guost@mathu.cn
Jingyuan Hu,hujy@mathu.cn
Baiyu Chen,chenby@mathu.cn
More
Interface provided for Python
DonebySongtao Guo
More