Comments (4)
I am not sure but I think that Pulp add a name for constraints, too. I am pretty sure the default names wasn't mandatory with my version. But if it fixes the problem for Cbc then we should to do it.
Let me know,
Joël
from rust-lp-modeler.
I tested with my version (2.8) and it works. Are you sure about your version ? I didn't find any 2.8.14 version. What's the error message if you just execute CBC on the lp file ?
cbc test.lp
I will update CBC with the version 2.9 to have a look. In any case, if it works with this optional name that's fine!
from rust-lp-modeler.
My bad, it was 2.8.12!
Executing Cbc from the command line gives this:
$ cbc test.lp
Welcome to the CBC MILP Solver
Version: 2.8.12
Build Date: Sep 3 2014
command line - cbc test.lp (default strategy 1)
Coin0009I CoinLpIO::readLp(): Maximization problem reformulated as minimization
Coin3007W ### CoinLpIO::is_invalid_name(): Name is empty
Coin3007W ### CoinLpIO::are_invalid_names(): Invalid name: vnames[3]: (null)
Coin3007W ### CoinLpIO::setLpDataRowAndColNames(): Invalid row names
Use getPreviousNames() to get the old row names.
Now using default row names.
Continuous objective value is 0 - 0.00 seconds
Cgl0004I processed model has 0 rows, 0 columns (0 integer) and 0 elements
Cbc3007W No integer variables - nothing to do
Cuts at root node changed objective from 0 to -1.79769e+308
Probing was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Gomory was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Knapsack was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Clique was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
MixedIntegerRounding2 was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
FlowCover was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)
Result - Optimal solution found
Objective value: 0.00000000
Enumerated nodes: 0
Total iterations: 0
Time (CPU seconds): 0.00
Time (Wallclock seconds): 0.01
Total time (CPU seconds): 0.00 (Wallclock seconds): 0.02
Apparently, the missing name for the objective function makes my version of Cbc not load the problem at all (0 rows, 0 columns (0 integer) and 0 elements
).
Anyway, thanks for accepting my PR!
from rust-lp-modeler.
It's curious. But your PR is certainly more portable. It will be useful if we are faced to the same problem later. Thanks
from rust-lp-modeler.
Related Issues (20)
- Simplify overflows the stack HOT 9
- Evaluate objective function without parsing HOT 3
- `run` function from solver return a Solution `struct` HOT 6
- Consider transforming Status to Result HOT 4
- lp-sum panics on empty vector HOT 1
- Stack overflow on adding objective function HOT 4
- Native CBC interface? HOT 9
- crates.io old
- 0.5 release HOT 7
- NativeCbcSolver failing HOT 2
- minilp solver? HOT 4
- [Rust beginner] Easy way to construct expressions? HOT 3
- Must problem variables be of type "&str"? HOT 3
- lp_sum creates a linked list instead of a balanced tree
- Simplify the expression tree HOT 2
- Feedback on good_lp HOT 3
- split out the lp modeling from the solvers HOT 14
- add support for other model file formats than `.lp` (e.g. the `MPS` format) HOT 5
- add support for highs
- The solver will panic if a goal or constraint reduces to a constant expression HOT 7
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 rust-lp-modeler.