Comments (5)
If I recall it right, that order is intentional. There were TuLiP examples for which cvxopt
's native LP solver was getting stuck. I don't recall experiencing that with scipy
. I think @ajwagen has done some benchmarking before deciding on that order. @ajwagen do you have any comments on how scipy
solver compares with native LP solver of cvxopt
(speed, reliability, etc.)?
from polytope.
A possibly relevant issue is: tulip-control/tulip-control#82
from polytope.
The benchmark results mentioned in #2 (comment) suggest that the Python LP solver of cvxopt
is about 5 times slower than cvxopt.glpk
.
from polytope.
See also #15 .
from polytope.
As reported for cvxopt.coneprog.conelp
(131 sec) in tulip-control/tulip-control#82 (comment), is slower than scipy
(94 sec).
Looking at the source of conelp
, it appears to depend on a C extension module called blas
(e.g., on this line, by importing blas
, and via the misc
module.
So the default of using scipy
appears to be a better choice, unless GLPK is available.
Feedback via email from @ajwagen confirms these findings in the general case. In summary:
- 1K optimizations with same matrices for each too:
- 2 variable case:
scipy
: 7.856 seccvxopt
without GLPK: 22 sec
- 10 variable case:
scipy
: 43.579 seccvxopt
without GLPK: 35 sec
scipy
seems numerically more stable thancvxopt
without GLPK.scipy
solves bothexamples/continuous.py
andexamples/pwa.py
faster thancvxopt
without GLPK (earlier versions of those examples, though their numerics have remained about the same through time).
Given these findings, that scipy
is a required dependency, that cvxopt
is now easier to install, and that a choice between solvers is available (#17), tthere is no reason to use cvxopt
without GLPK.
from polytope.
Related Issues (20)
- cvxopt 1.2.0 bug HOT 5
- support Python 3.7 HOT 4
- create regression test for bug fix of PR #56
- release `polytope == 0.2.2` HOT 1
- Error message says "Cannot plot polytopes of dimension larger than 2", but can't plot dimension 1 aswell HOT 2
- Zero Volume for 14D polytope HOT 8
- remove support for Python 2.7, 3.5, 3.6 HOT 7
- support Python 3.10
- With large scales `reduce` can remove non-redundant hyperplanes HOT 2
- `.project` can return redundant hyperplanes despite `minrep == True` HOT 1
- Plotting polytopes on same plot/ adding "_get_patch" as an import option
- How to use cvxopt to find intersection between polytope HOT 4
- polytope volume changing on each trial HOT 2
- Polytope.reduce and removal of possibly overlapping polytopes HOT 3
- Updated release on PyPI? HOT 4
- Rmove or delete particular polytope from a region HOT 1
- combining many polytopes into single polytope HOT 4
- MIB2 cannot clear 01637 error HOT 3
- minkovski sum of polytopes HOT 5
- Usefull future feature
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from polytope.