Re: [ojAlgo-user] Integer solver
Mathematics, linear algebra and optimisation
Brought to you by:
apete
From: Anders P. <an...@op...> - 2013-03-27 19:22:38
|
Ok. Everything works now except semi-continuous variables in mps-files and some harder mip models (mps-files) that I downloaded from MIPLIB. MIPLIP classifies problem instances as "easy" if they can be solved within one hour using a commercial MIP solver, and also lists problems that are not yet solved by any solver. ojAlgo has, previously, solved at least one of these, but I do not know what the current state is. @ Francisco Verdejo : ojAlgo can now handle the model you sent me. The returned state is OPTIMAL, the solution satisfies all constraints and integer variables are at integer values. /Anders On 18 mar 2013, at 10:42, Anders Peterson <an...@op...> wrote: > I have worked some on solving this problem - here's un update on the general state of the optimization functionality in ojAlgo: > > junit tests for package... > > org.ojalgo.optimisation.quadratic: All tests pass > > org.ojalgo.optimisation.linear: All tests pass > > org.ojalgo.optimisation.integer: All tests pass, but the test corresponding to the problem reported in this thread is not proper. Validation and debug output indicates there is still some problem. > > org.ojalgo.optimisation.linear.mps: Tests related to semi continuous variables, and 2 other cases downloaded from netlib fail. Other tests are ok. > > org.ojalgo.optimisation.integer.mps: Several problems here! In many cases ojAlgo even has problems solving the relaxed LP problems. > > > To summarize: > 1) Semi continuos variables in mps files doesn't work > 2) The chain mps-file - IntegerSolver - LinearSolver seems to be problematic. Most likely there's more than one bug/problem. This chain/combination is just a good way to replicate the symptoms. > > > Please help buy supplying small manageable test cases that indicate various problems! > > > /Anders > > > On 26 feb 2013, at 14:30, Anders Peterson <an...@op...> wrote: > >> I suspect it's not trivial to grasp the inner workings of ExpressionsBasedModel, IntegerSolver and LinearSolver... >> >> Finding a smaller model that demonstrates the bug would be very helpful. >> >> If you do try to debug the code, please get the latest source directly from cvs. >> >> http://sourceforge.net/p/ojalgo/code/ >> >> /Anders >> >> >> On 26 feb 2013, at 11:33, Francisco Verdejo <fra...@gm...> wrote: >> >>> Hi Anders, >>> I go to try to debug the problem and simplify the model but I need time. >>> >>> Thanks for your interest. >>> Fran. >>> >>> >>> 2013/2/26 Anders Peterson <an...@op...> >>> Can't see (yet) exactly what the problem is, but it seems to be related to extracting and copying solutions back and forth between the model and solver. The MIP solver is multithreaded, and that adds to the problem... >>> >>> Any one else have problems with the MIP solver? It is very likely the problem was introduced during December/January when I did a lot of work on to the MIP solver. >>> >>> I'm a little short on time at the moment. You have the source code. Please participate in debugging this. >>> >>> One thing that would help a lot is if this behavior can be reproduced in a smaller (as small as possible) model. Would be great if it was possible to simply print the entire simplex tableau and/or all related matrices... >>> >>> /Anders >>> >>> >>> On 25 feb 2013, at 11:55, Francisco Verdejo <fra...@gm...> wrote: >>> >>>> Hi, >>>> Sorry for waiting, I have prepared an example which I send. >>>> Seems that it skips the restrictions of variables for satisfy the restrictions of expression. >>>> I hope it helps you to solve the problem. >>>> Thanks. >>>> Fran. >>>> >>>> >>>> 2013/2/22 Anders Peterson <an...@op...> >>>> Send me a, self-contained and directly-runnable, test case. If you can reproduce the problem with a small(er) model then please do that. /Anders >>>> >>>> On 22 feb 2013, at 12:48, Francisco Verdejo <fra...@gm...> wrote: >>>> >>>>> The variables are binay and the X_111_19=-16 >>>>> Also exits the folowing restriction: sum(X_i_j) = 1 >>>>> The variables with problem are X_111_j, the variable X_112_j are ok. >>>>> The result state are: OPTIMAL 295.5 >>>>> >>>>> This is a print of variables after solve >>>>> >>>>> 0 <= X_111_0: 0 (6.6) <= 1 >>>>> 0 <= X_111_1: 1 (5.8) <= 1 >>>>> 0 <= X_111_2: 1 (5) <= 1 >>>>> 0 <= X_111_3: 0 (4.2) <= 1 >>>>> 0 <= X_111_4: 1 (3.5) <= 1 >>>>> 0 <= X_111_5: 1 (2.9) <= 1 >>>>> 0 <= X_111_6: 1 (2.3) <= 1 >>>>> 0 <= X_111_7: 1 (1.9) <= 1 >>>>> 0 <= X_111_8: 1 (1.5) <= 1 >>>>> 0 <= X_111_9: 1 (1.2) <= 1 >>>>> 0 <= X_111_10: 1 (0.9) <= 1 >>>>> 0 <= X_111_11: 1 (0.7) <= 1 >>>>> 0 <= X_111_12: 1 (0.6) <= 1 >>>>> 0 <= X_111_13: 1 (0.6) <= 1 >>>>> 0 <= X_111_14: 1 (0.8) <= 1 >>>>> 0 <= X_111_15: 1 (1) <= 1 >>>>> 0 <= X_111_16: 1 (1.4) <= 1 >>>>> 0 <= X_111_17: 1 (2) <= 1 >>>>> 0 <= X_111_18: 1 (2.8) <= 1 >>>>> 0 <= X_111_19: -16 (3.6) <= 1 >>>>> >>>>> 0 <= X_112_0: 0 (7.1) <= 1 >>>>> 0 <= X_112_1: 0 (6.1) <= 1 >>>>> 0 <= X_112_2: 0 (5.3) <= 1 >>>>> 0 <= X_112_3: 0 (4.5) <= 1 >>>>> 0 <= X_112_4: 0 (3.8) <= 1 >>>>> 0 <= X_112_5: 1 (3.1) <= 1 >>>>> 0 <= X_112_6: 0 (2..6) <= 1 >>>>> 0 <= X_112_7: 0 (2.1) <= 1 >>>>> 0 <= X_112_8: 0 (1.6) <= 1 >>>>> 0 <= X_112_9: 0 (1.3) <= 1 >>>>> 0 <= X_112_10: 0 (1) <= 1 >>>>> 0 <= X_112_11: 0 (0.8) <= 1 >>>>> 0 <= X_112_12: 0 (0.6) <= 1 >>>>> 0 <= X_112_13: 0 (0.5) <= 1 >>>>> 0 <= X_112_14: 0 (0.5) <= 1 >>>>> 0 <= X_112_15: 0 (0.6) <= 1 >>>>> 0 <= X_112_16: 0 (0.8) <= 1 >>>>> 0 <= X_112_17: 0 (1.2) <= 1 >>>>> 0 <= X_112_18: 0 (1.7) <= 1 >>>>> 0 <= X_112_19: 0 (2.4) <= 1 >>>>> >>>>> If you want I tell you more details of our model. >>>>> Thanks. >>>>> >>>>> >>>>> 2013/2/22 Anders Peterson <an...@op...> >>>>> I have no idea... >>>>> >>>>> Are you saying that you define a (mixed) integer linear program, and you get solutions where some integer variables are not at integer values? >>>>> >>>>> Did you check the Optimisation.State? Does it indicate that the problem is solved correctly? >>>>> >>>>> Can you supply me with a self-contained directly-runnable test case that clearly demonstrates how you do things, what you expect to happen and what actually happens. >>>>> >>>>> /Anders >>>>> >>>>> >>>>> On 22 feb 2013, at 12:14, Francisco Verdejo <fra...@gm...> wrote: >>>>> >>>>>> Hi friends, >>>>>> We are using an integer linear programming. All the variables are binary. The problem is that the result of some variables are distinct than 0 and 1. >>>>>> Why is it? >>>>>> >>>>>> Thanks. >>>>>> ------------------------------------------------------------------------------ >>>>>> Everyone hates slow websites. So do we. >>>>>> Make your web apps faster with AppDynamics >>>>>> Download AppDynamics Lite for free today: >>>>>> http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________ >>>>>> ojAlgo-user mailing list >>>>>> ojAlgo-user@lists..sourceforge.net >>>>>> https://lists..sourceforge.net/lists/listinfo/ojalgo-user >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Everyone hates slow websites. So do we. >>>>> Make your web apps faster with AppDynamics >>>>> Download AppDynamics Lite for free today: >>>>> http://p.sf.net/sfu/appdyn_d2d_feb >>>>> _______________________________________________ >>>>> ojAlgo-user mailing list >>>>> ojAlgo-user@lists..sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> Everyone hates slow websites. So do we. >>>>> Make your web apps faster with AppDynamics >>>>> Download AppDynamics Lite for free today: >>>>> http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________ >>>>> ojAlgo-user mailing list >>>>> ojAlgo-user@lists..sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> Everyone hates slow websites. So do we. >>>> Make your web apps faster with AppDynamics >>>> Download AppDynamics Lite for free today: >>>> http://p.sf.net/sfu/appdyn_d2d_feb >>>> _______________________________________________ >>>> ojAlgo-user mailing list >>>> ojAlgo-user@lists..sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >>>> >>>> <Example.java>------------------------------------------------------------------------------ >>>> Everyone hates slow websites. So do we. >>>> Make your web apps faster with AppDynamics >>>> Download AppDynamics Lite for free today: >>>> http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________ >>>> ojAlgo-user mailing list >>>> ojAlgo-user@lists..sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >>> >>> >>> ------------------------------------------------------------------------------ >>> Everyone hates slow websites. So do we. >>> Make your web apps faster with AppDynamics >>> Download AppDynamics Lite for free today: >>> http://p.sf.net/sfu/appdyn_d2d_feb >>> _______________________________________________ >>> ojAlgo-user mailing list >>> ojA...@li... >>> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >>> >>> ------------------------------------------------------------------------------ >>> Everyone hates slow websites. So do we. >>> Make your web apps faster with AppDynamics >>> Download AppDynamics Lite for free today: >>> http://p.sf.net/sfu/appdyn_d2d_feb_______________________________________________ >>> ojAlgo-user mailing list >>> ojA...@li... >>> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >> >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_d2d_feb >> _______________________________________________ >> ojAlgo-user mailing list >> ojA...@li... >> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >> >> > |