[Couenne] Error in _cmdno 308 / can't open C:\Users\...\Temp\at1988.sol

Pietro Belotti petr.7b6 at gmail.com
Tue Jan 13 19:10:44 EST 2015


Dear Tom,

this took a bit longer than expected. Unfortunately this does not seem
to work well on stable/0.4, but it does on stable/0.5 and trunk. I
have made a change so that when the problem is found infeasible at the
first bound tightening call a .solution file is still written.

I hope this helps.

Regards,
Pietro

On Wed, Dec 17, 2014 at 1:47 AM, Pietro Belotti <petr.7b6 at gmail.com> wrote:
> Dear Tom,
>
> I can reproduce this behavior. This seems due to an early
> infeasibility detection which skips branch and bound altogether.
> However, this also skips writing the .sol file, which, as you note,
> should be done nonetheless, since the writing bit is placed
> (erroneously) at the end of the BB procedure. I am fixing it now and
> hope to commit the changes to the SVN repository soon.
>
> Pietro
>
> On Tue, Dec 2, 2014 at 12:52 PM, Tom Van Acker
> <Tom.VanAcker at esat.kuleuven.be> wrote:
>> Dear reader,
>>
>>
>>
>> I am programming a topology optimization for a meshed power system. The
>> problem is a Mixed Integer Non Convex Quadratic Constraint Problem and to
>> solve this I am using Couenne as a solver in AMPL. The solution to the
>> problem allows several options of adjusting the topology. Certain topology
>> adjustments could lead to an infeasible solution, in that case another
>> topology adjustment should be tried. If I try to solve the problem using a
>> topology adjustment that leads to an infeasible solution I get the following
>> output in AMPL:
>>
>>
>>
>> Couenne 0.4.7 --  an Open-Source solver for Mixed Integer Nonlinear
>> Optimization
>>
>> Mailing list: couenne at list.coin-or.org
>>
>> Instructions: http://www.coin-or.org/Couenne
>>
>> couenne:
>>
>> ANALYSIS TEST:  Couenne: Warning, tightened NLP is infeasible
>>
>> problem infeasible
>>
>> Error at _cmdno 308 executing "solve" command
>>
>> (file TOPOP.run, line 96, offset 3162):
>>
>> can't open C:\Users\tvanacke\AppData\Local\Temp\at1988.sol
>>
>>
>>
>> And after this error, the program is interrupted (after the solve; line),
>> which it should not do. In a correct situation it should move on to another
>> topology switching possibility (mode), as can be seen in the code. Is there
>> any way to address this problem so the optimization can be continued?
>>
>>
>>
>> repeat                                                                    {
>>
>> if (mode == 3 and submode > 2)                        then {
>>
>>
>>
>>        drop {g in G}                                  GBC[g];
>>
>>        restore {g in G}                               GBO[g];
>>
>>
>>
>>        option                                         solver couenne;
>>
>>        option                                         lp_solver cplex;
>>
>>        solve;
>>
>>
>>
>>        let                                            mode := 4;
>>
>>        if solve_result_num < 100                      then {
>>
>>              let                                     submode := 999;
>>
>>              print
>> '------------------------------------SUBOPTIMAL SOLUTION
>> FOUND-------------------------------------';
>>
>>              display                                  Isc;
>>
>>              display                                 D;
>>
>>              display                                 OBJ2;
>>
>>              print
>> '--------------------------------------------------------------------------------------------------';
>>
>>        }
>>
>> }
>>
>> if (mode == 2 and submode > 1)                        then {
>>
>>
>>
>>        drop {bi in BI}                                       BIBC[bi];
>>
>>        drop {bo in BO}                                       BOBC[bo];
>>
>>        restore {bi in BI}                                    BIBO[bi];
>>
>>        restore {bo in BO}                                    BOBO[bo];
>>
>>
>>
>>        option                                                solver couenne;
>>
>>        option                                                lp_solver
>> cplex;
>>
>>        solve;
>>
>>
>>
>>        let                                                   mode := 3;
>>
>>        if solve_result_num < 100                      then {
>>
>>              let                                            mode := 4;
>>
>>              let                                            submode := 999;
>>
>>              print
>> '------------------------------------SUBOPTIMAL SOLUTION
>> FOUND-------------------------------------';
>>
>>              display                                        Isc;
>>
>>              display                                        D;
>>
>>              display                                        OBJ2;
>>
>>              print
>> '--------------------------------------------------------------------------------------------------';
>>
>>        }
>>
>> }
>>
>>
>>
>> if mode == 1                                                then {
>>
>>
>>
>>        restore {g in G}                                      GBC[g];
>>
>>        restore {bi in BI}                                    BIBC[bi];
>>
>>        restore {bo in BO}                                    BOBC[bo];
>>
>>
>>
>>        option                                                solver couenne;
>>
>>        option                                                lp_solver
>> cplex;
>>
>>        solve;
>>
>>
>>
>>        let                                                   mode := 2;
>>
>>        if solve_result_num < 100                             then {
>>
>>              let                                            submode := 999;
>>
>>              print
>> '--------------------------------------OPTIMAL SOLUTION
>> FOUND--------------------------------------';
>>
>>              display                                        Isc;
>>
>>              display                                        D;
>>
>>              display                                        OBJ2;
>>
>>              print
>> '--------------------------------------------------------------------------------------------------';
>>
>>        }
>>
>> }
>>
>>
>>
>> }
>>
>> while                                                       mode < 4;
>>
>>
>>
>> With kind regards,
>>
>>
>>
>> Tom Van Acker
>>
>> --
>> Tom Van Acker
>> Researcher – University of Leuven (KU Leuven)
>> Department Electrical Engineering (ESAT) - Research group Electrical Energy
>> (ELECTA)
>> Kasteelpark Arenberg 10 – 3001 Heverlee – Belgium
>>
>> WORK: +32 16 37 93 06
>> GSM: +32 (0)478 771 361 (mobile)
>> Email: Tom.VanAcker at esat.kuleuven.be
>>
>>
>>
>>
>> _______________________________________________
>> Couenne mailing list
>> Couenne at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/couenne



More information about the Couenne mailing list