@@ -67,25 +67,25 @@ You can find a resource allocation problem example in
67
67
This library offers an abstraction over multiple solvers. By default, it uses [ cbc] [ cbc ] , but
68
68
you can also activate other solvers using cargo features.
69
69
70
- | solver feature name | integer variables | no C compiler\* | no additional libs\* * | fast |
71
- | --------------------- | ------------------- | ---------------- | ----------------------- | ------ |
72
- | [ ` coin_cbc ` ] [ cbc ] | ✅ | ✅ | ❌ | ✅
73
- | [ ` highs ` ] [ highs ] | ❌ | ❌ | ✅ | ✅
74
- | [ ` lpsolve ` ] [ lpsolve ] | ✅ | ❌ | ✅ | ❌
75
- | [ ` minilp ` ] [ minilp ] | ❌ | ✅ | ✅ | ❌
76
- | [ ` lp-solvers ` ] [ lps ] | ✅ | ✅ | ✅ | ❌
70
+ | solver feature name | integer variables | no C compiler\* | no additional libs\*\ * | fast |
71
+ | -------------------- | ----------------- | --------------- | ---------------------- | ---- |
72
+ | [ ` coin_cbc ` ] [ cbc ] | ✅ | ✅ | ❌ | ✅ |
73
+ | [ ` highs ` ] [ highs ] | ❌ | ❌ | ✅ | ✅ |
74
+ | [ ` lpsolve ` ] [ lpsolve ] | ✅ | ❌ | ✅ | ❌ |
75
+ | [ ` minilp ` ] [ minilp ] | ❌ | ✅ | ✅ | ❌ |
76
+ | [ ` lp-solvers ` ] [ lps ] | ✅ | ✅ | ✅ | ❌ |
77
77
78
- * \* no C compiler: builds with only cargo, without requiring you to install a C compiler
79
- * \* * no additional libs: works without additional libraries at runtime, all the dependencies are statically linked
78
+ - \* no C compiler: builds with only cargo, without requiring you to install a C compiler
79
+ - \*\ * no additional libs: works without additional libraries at runtime, all the dependencies are statically linked
80
80
81
81
To use an alternative solver, put the following in your ` Cargo.toml ` :
82
82
83
83
``` toml
84
84
good_lp = { version = " *" , features = [" your solver feature name" ], default-features = false }
85
85
```
86
86
87
-
88
87
### [ cbc] [ cbc ]
88
+
89
89
Used by default, performant, but requires to have the cbc C library headers available on the build machine,
90
90
and the cbc dynamic library available on any machine where you want to run your program.
91
91
@@ -103,7 +103,6 @@ brew install cbc
103
103
104
104
[ cbc ] : https://www.coin-or.org/Cbc/
105
105
106
-
107
106
### [ minilp] ( https://docs.rs/minilp )
108
107
109
108
minilp is a pure rust solver, which means it works out of the box without installing anything else.
@@ -121,7 +120,7 @@ written in C and based on the revised simplex method.
121
120
good_lp uses the [ lpsolve crate] ( https://docs.rs/lpsolve/ ) to call lpsolve.
122
121
You will need a C compiler, but you won't have to install any additional library.
123
122
124
- [ lpsolve ] :http://lpsolve.sourceforge.net/5.5/
123
+ [ lpsolve ] : http://lpsolve.sourceforge.net/5.5/
125
124
126
125
### [ HiGHS] [ highs ]
127
126
@@ -144,7 +143,7 @@ Instead, it calls other solvers at runtime.
144
143
It writes the given problem to a ` .lp ` file, and launches an external solver command
145
144
(such as ** gurobi** , ** cplex** , ** cbc** , or ** glpk** ) to solve it.
146
145
147
- There is some overhead associated to this method: it can take a few hundred milliseconds
146
+ There is some overhead associated to this method: it can take a few hundred milliseconds
148
147
to write the problem to a file, launch the external solver, wait for it to finish, and then parse its solution.
149
148
If you are not solving a few large problems but many small ones (in a web server, for instance),
150
149
then this method may not be appropriate.
0 commit comments