[SCIP] SoPlex Status Code -7

朱外明 zhuwaiming at mail.hfut.edu.cn
Fri May 14 04:05:39 CEST 2021


Dear Marc,

Thanks for your kind response. I have tried it as you suggested and it works!


Although the code is a little redundant, it functions well.


Thank you again! 


Regards!




----------------
Waiming Zhu









From: Marc Pfetsch <pfetsch at mathematik.tu-darmstadt.de>
Date: 2021-05-13 21:52:38
To:  scip at zib.de
Subject: Re: [SCIP] SoPlex Status Code -7>
>
>Dear Waiming,
>
>in SoPlex one should indeed always first include the columns, then the
>rows. The run time overhead happens because of the internal data structures.
>
>In your case, please reconsider whether it is at least possible to add
>some columns up-front. From the times you indicate, it might be
>advantageous to have a two-loop approach. In the first, you can count
>the number of columns you need. Then you create the columns and then the
>rows. Note that you can change properties of the columns later, so a
>stand-in is possible.
>
>Finally, you might consider solving the dual, where the roles of rows
>and columns are flipped.
>
>Hope this helps.
>
>Best
>
>Marc
>
>
>
>
>
>On 12/05/2021 14:30, 朱外明 wrote:
>> Hi,
>> 
>> I am using SoPlex 5.0.2 as a callable lib (coded in C++) to solve a LP
>> problem. 
>> 
>> The tested instance is truely simple. However, SoPlex reports:
>> 
>> "Error: SoPlex returned with status -7." 
>> 
>> if I use  "row first column second" adding method, the outline code of
>> which are as follows:
>> 
>> /*add rows*/
>> for (int k = 0; k < n; k++){
>> DSVector row(0);
>> model.addRowReal(LPRow(row, soplex::LPRow::Type::LESS_EQUAL, rhs));
>> }
>> 
>> /*add columns*/
>> for (int k = 0; k < m; k++){
>>         DSVector var(2);
>> ...
>>         model.addColReal(LPCol(ege->distance, var, infinity, 0.0));
>> }
>> 
>> 
>> SoPlex will works well if I code follow the "column first row second"
>> method, in which the same instance can be solved in 0.01 seconds.
>> 
>> I also tried the function 'SetRealParam' to set the time limit:
>> "model.setRealParam(SoPlex::TIMELIMIT, 10);" . But still failed.
>> 
>> I need to use the "row first column second" method as there is a special
>> structure in my formulation. 
>> 
>> 
>> I much appreciate if anyone who tell me what is the most possible reason
>> or what should I do to make SoPlex works. 
>> 
>> Thanks a lot.
>> 
>> 
>> Regards!
>> 
>> 
>> -------------------------------------------------------------
>> Waiming Zhu
>> School of Management, Hefei University of Technology
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
>> 
>_______________________________________________
>Scip mailing list
>Scip at zib.de
>https://listserv.zib.de/mailman/listinfo/scip




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20210514/01ff97cd/attachment.html>


More information about the Scip mailing list