ztlpn / minilp Goto Github PK
View Code? Open in Web Editor NEWA pure Rust linear programming solver
License: Apache License 2.0
A pure Rust linear programming solver
License: Apache License 2.0
Hi, and thanks for this great crate! I got a panic at minilp-0.2.2/src/solver.rs:1301:10
:
self.lu_factors = lu_factorize(
basic_vars.len(),
|c| {
orig_constraints_csc
.outer_view(basic_vars[c])
.unwrap()
.into_raw_storage()
},
0.1,
&mut self.scratch,
)
.unwrap(); // TODO: When is singular basis matrix possible? Report as a proper error.
// ^^^^^^^^^^^^^^^^^^^^^ this line
I have a somehow weird query, which contains 30 variables in format a[i] = a[i-1] * 1000
and two variables x, y
with x = a[30]
and y = a[30] + 1
and x <= y
conditions. I guess singularity occurs due floating point errors, but I know nothing about simplex and your code.
Unrelated to this, how reliable is an Infeasible
answer? People can attack my code by creating some constraints that are actually feasible but my code detects it as Infeasible
, so even a panic is better than a false Infeasible
for me. Would it work correct even in case of floating point errors? How I can validating the result, or restrict the input to prevent that?
Have you looked at integrating parallelisation via:
https://gitlab.com/lappsufrn/MulticoreParallelSimplex
explained in
And of course better pivot selection Langrangian or others?
I'm just starting to use minilp and it panics with an unwrapped NonSortedIndices
error from the sprs
crate when calling
problem.add_constraint(
&[
(node_var, 1.0),
(other_node_var, -1.0),
(additional_var, -1.0),
],
ComparisonOp::Le,
0.0,
);
The panic originates from minilp's lib.rs line 279
CsVec::new(self.obj_coeffs.len(), expr.vars, expr.coeffs),
What am I doing wrong?
Is this project still maintained?
Hi!
I noticed there is not Continuous Integration for this one. Let me know if a PR (github actions I suppose) for that would be interesting.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.