Python model development kit for MOS.
- Linear solver wrappers
mos.devkit.linalg.LinSolverMUMPSmos.devkit.linalg.LinSolverSUPERLUmos.devkit.linalg.LinSolverUMFPACK
- Optimization problem classes
mos.devkit.problem.Problemmos.devkit.problem.LinProblemmos.devkit.problem.QuadProblemmos.devkit.problem.MixIntLinProblem
- Optimization solvers and wrappers
mos.devkit.solver.SolverClpmos.devkit.solver.SolverClpCMDmos.devkit.solver.SolverCbcmos.devkit.solver.SolverCbcCMDmos.devkit.solver.SolverCplexCMDmos.devkit.solver.SolverIQPmos.devkit.solver.SolverINLPmos.devkit.solver.SolverIpoptmos.devkit.solver.SolverAugLmos.devkit.solver.SolverNR
- Algebraic modeling system with sparse automatic symbolic differentiation (in C)
mos.devkit.model.VariableScalarmos.devkit.model.VariableMatrixmos.devkit.model.VariableDictmos.devkit.model.Modelmos.devkit.model.maximizemos.devkit.model.minimizemos.devkit.model.sinmos.devkit.model.cosmos.devkit.model.sum
pip install -r requirements.txt
The following environment variables can be used to provide library names, and include and library directories for the following solver interfaces:
- MUMPS:
MOS_DEVKIT_MUMPS_LIB,MOS_DEVKIT_MUMPS_LIB_DIR,MOS_DEVKIT_MUMPS_INC_DIR - IPOPT:
MOS_DEVKIT_IPOPT_LIB,MOS_DEVKIT_IPOPT_LIB_DIR,MOS_DEVKIT_IPOPT_INC_DIR - CLP:
MOS_DEVKIT_CLP_LIB,MOS_DEVKIT_CLP_LIB_DIR,MOS_DEVKIT_CLP_INC_DIR - CBC:
MOS_DEVKIT_CBC_LIB,MOS_DEVKIT_CBC_LIB_DIR,MOS_DEVKIT_CBC_INC_DIR
Sample Configuration on Ubuntu
MOS_DEVKIT_IPOPT_LIB=ipopt
MOS_DEVKIT_IPOPT_INC_DIR=/usr/include/coin
MOS_DEVKIT_IPOPT_LIB_DIR=/usr/lib
MOS_DEVKIT_CLP_LIB=Clp
MOS_DEVKIT_CLP_INC_DIR=/usr/include/coin
MOS_DEVKIT_CLP_LIB_DIR=/usr/lib
MOS_DEVKIT_CBC_LIB=CbcSolver
MOS_DEVKIT_CBC_INC_DIR=/usr/include/coin
MOS_DEVKIT_CBC_LIB_DIR=/usr/lib
MOS_DEVKIT_MUMPS_LIB=dmumps_seq
MOS_DEVKIT_MUMPS_INC_DIR=/usr/include/mumps_seq
MOS_DEVKIT_MUMPS_LIB_DIR=/usr/lib
python setup.py build_ext --inplace
To re-build, use the clean.sh script and execute the build_ext command again.
Install pytest and execute
pytest -v --show-capture=no
python setup.py install