Closed athityakumar closed 7 years ago
I think I'd rather see Daru be really good at dataframes. By good, I mean that manipulating dataframes - reading, writing, filtering, joining, grouping, transforming - should be fast and bug free. For this LP work, it would make more sense to build it into a separate package - e.g., "Daru Data Science Library"
I agree with @gnilrets. We can probably have a separate gem that specifically caters to this need.
+1 I like the idea but but it doesn't seem like core functionality for Daru.
Closing this issue. Maybe we should discuss in the mailing list about making a separate gem for this purpose.
Given that
Daru
is going to work on analyzing DataFrames, it seems logical to me to include LPP (Linear Programming Problems) algorithms - likeSimplex
,Big M
,2 phase simplex
,Dual simplex
,Revised simplex
,Primal-dual
, etc.I wasn't able to find any such LPP methods in
pandas
, but this may be becausepandas
is able to work withnumpy
ndarray
s. However, I don't think this is the case withDaru
.So, I would prefer a test case like -
Here, the optimal should be able to decide the appropriate method (
Big M
/Revised Simplex
/ etc.) has to be used for the given set ofconstraints
andobjective
- as different methods support only specific types (say, non-negative) of input. There should also be support forUn-bounded
andIn-feasible
cases.Other technicalities like
Basic Feasible Solution
,Degenerate Solution
, etc. can also be implemented if required. However, IMO - the user would have more use of theDaru::DataFrame#optimal
function rather than type of solutions.