[Os-project-managers] Fwd: Re: [Osi] a problem about osil, COUENNE, and avion2

Kipp Martin kmartin at chicagobooth.edu
Thu Apr 14 12:54:17 EDT 2011



-------- Original Message --------
Subject: Re: [Osi] a problem about osil,COUENNE,and avion2
Date: Thu, 31 Mar 2011 11:16:46 +0200
From: Stefan Vigerske <stefan at math.hu-berlin.de>
To: R. Kipp Martin <kipp.martin at chicagobooth.edu>
CC: Pietro Belotti <pbelott at clemson.edu>, Horand Gassmann 
<Horand.Gassmann at dal.ca>

Hi,

>> Having an option with the same name for different layers of the solver
>> is probably just not allowed, even though the prefix is different.
>> The Ipopt output is controlled by print_level
>> The Bonmin output is controlled by bonmin.*_log_level.
>> The Couenne output is controlled by couenne.*_print_level.
>
> What would be examples for the * in
>
> couenne.*_print_level

boundtightening_print_level
branching_print_level
convexifying_print_level
disjcuts_print_level
nlpheur_print_level
problem_print_level
reformulate_print_level

Stefan

>
> Thanks
>
>>
>> I don't know print_output_level.
>>
>> Stefan
>>
>>
>>
>>>
>>> Thanks
>>>
>>>
>>>>
>>>> Stefan
>>>>
>>>> Am 31.03.2011 07:27, schrieb R. Kipp Martin:
>>>>> Hi Pietro:
>>>>>
>>>>>> I suppose OS has a way to print the problem in a neat form. If not,
>>>>>> Couenne can do it by setting print_output_level to 4. It also allows
>>>>>> printing the reformulated problem (with lots of new variables) with
>>>>>> that
>>>>>> option set to 7, though this last one is probably more obscure for
>>>>>> the
>>>>>> casual user. Note that numerical values are displayed, as Couenne
>>>>>> doesn't have parameter names.
>>>>>
>>>>> Actually I have never been able to figure out how to set Couenne
>>>>> options
>>>>> from OS. When OS uses Couenne as the solver I can control the Bonmin
>>>>> and
>>>>> Ipopt solvers used by Couenne but not Couenne itself.
>>>>>
>>>>>
>>>>> In OSCouenneSolver.cpp I have an object couenneSetup in the
>>>>> CouenneSetup
>>>>> class. I read an OSOption object and put the options in a vector
>>>>> optionsVector. So, for example, lines 480-482 in OSCouenneSolver.cpp
>>>>> are
>>>>>
>>>>> if(optionsVector[ i]->category == "bonmin" )
>>>>> {
>>>>> couenneSetup.options()->SetNumericValue("bonmin."+optionsVector[
>>>>> i]->name, os_strtod( optionsVector[ i]->value.c_str(), &pEnd ) );
>>>>> }
>>>>>
>>>>> and this successfully sets the options on Bonmin. I have tested and it
>>>>> seems to work. However, the corresponding lines for Couenne
>>>>>
>>>>> else
>>>>> {
>>>>> couenneSetup.options()->SetNumericValue("couenne."+optionsVector[
>>>>> i]->name, os_strtod( optionsVector[ i]->value.c_str(), &pEnd ) );
>>>>> }
>>>>>
>>>>> do not work. If I pass the option
>>>>>
>>>>> print_output_level
>>>>>
>>>>> I get the error:
>>>>>
>>>>> "Tried to set Option: couenne.print_output_level. It is not a valid
>>>>> option. Please check the list of available options."
>>>>>
>>>>> If I pass the option
>>>>>
>>>>> allowable_fraction_gap
>>>>>
>>>>> I do not get an error, but regardless of what value I use for
>>>>> allowable_fraction_gap, it has no effect.
>>>>>
>>>>> Any ideas on what I might try or am doing wrong?
>>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>> ------
>>>>> Kipp Martin
>>>>> Professor of Operations Research
>>>>> and Computing Technology
>>>>> Booth School of Business
>>>>> University of Chicago
>>>>> 5807 South Woodlawn Avenue
>>>>> Chicago, IL 60637
>>>>> 773-702-7456
>>>>> kmartin at chicagobooth.edu
>>>>> http://www.chicagobooth.edu/faculty/bio.aspx?person_id=12825325568
>>>>> http://projects.coin-or.org/OS
>>>>
>>>>
>>>
>>>
>>
>>
>
>


-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan



More information about the Os-project-managers mailing list