[ https://issues.apache.org/jira/browse/MATH828?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=13419013#comment13419013
]
Alexey Slepov commented on MATH828:

Thomas, thanks for reference that the solver is already configured to restrict variables to
nonnegative values. That signally decreased time the solver needed to find solution as much
as decreased the number of UnboundedSolutionExceptions.
As to the objective, there is a misunderstanding I believe.
I use the definition of the objective as it's declared in http://commons.apache.org/math/apidocs/org/apache/commons/math/optimization/linear/LinearObjectiveFunction.html
and theta is x1 and there are R+1 variables. R is the number of objects the omtimum is to
find for (ENTITIES_COUNT) that is equal to the number of lambdas l(i). And as it shown in
the very first test of the JUnit test where Q = [1,2], X = [2,1] and L = T[l1, l2] the solver
gives an expected result. That is the indicator that equations are written properly. In other
words for every single of N entities there has to be an objective with N + 1 variables. For
the case of 2 entities the 3 dimension space is used to build a surface that has it's theta
or x(1) coordinate set to minimum, for the case of 3 entities the 4 dimension space is used
to build a shape that has it's theta or x(1) coordinate set to minimum and etc.
Here is how it looks for the simplest case (JUnit test #0)
Model name: DEA problem
t L1 L2
Minimize 1 0 0
R1 0 2 1 >= 1
R2 2 1 2 >= 0
R3 0 1 0 >= 0
R4 0 0 1 >= 0
Type Real Real Real
upbo Inf Inf Inf
lowbo 0 0 0
the objective is to be 0.25 and theta = 0.25 and L1 = 0.5, L2 = 0
The solver gives the same result for the case.
But only I add more entities to find minimum for as the same add more lambdas the solver gives
back wrong answer, unbounded solution or theta greater than 1 (that is wrong due to the problem
condition)
I'm sure it's been really too early to close the issue :(
> Not expected UnboundedSolutionException
> 
>
> Key: MATH828
> URL: https://issues.apache.org/jira/browse/MATH828
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 3.0
> Environment: Intel Core i52300 Windows XP SP3
> Reporter: Alexey Slepov
> Labels: linear, math, programming
> Fix For: 3.0
>
> Attachments: ApacheSimplexWrapper.java, ApacheSimplexWrapperTest.java, Entity.java,
commonsmath33.0.jar
>
>
> SimplexSolver throws UnboundedSolutionException when trying to solve minimization linear
programming problem. The number of exception thrown depends on the number of variables.
> In order to see that behavior of SimplexSolver first try to run JUnit test setting a
final variable ENTITIES_COUNT = 2 and that will give almost good result and then set it to
15 and you'll get a massive of unbounded exceptions.
> First iteration is runned with predefined set of input data with which the Solver gives
back an appropriate result.
> The problem itself is well tested by it's authors (mathematicians who I believe know
what they developed) using Matlab 10 with no unbounded solutions on the same rules of creatnig
random variables values.
> What is strange to me is the dependence of the number of UnboundedSolutionException exceptions
on the number of variables in the problem.
> The problem is formulated as
> min(1*t + 0*L) (for every rth subject)
> s.t.
> q(r) + QL >= 0
> x(r)t  XL >= 0
> L >= 0
> where
> r = 1..R,
> L = {l(1), l(2), ..., l(R)} (vector of R rows and 1 column),
> Q  coefficients matrix MxR
> X  coefficients matrix NxR

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
