11#ifndef BonRegisteredOptions_H
12#define BonRegisteredOptions_H
22 class AmplOptionsList;
74 categoriesInfos_[registering_category] = extra;}
79 std::string msg =
"Try to access option: "+option;
80 msg +=
"\n Option is not registered.\n";
81 throw CoinError(
"Bonmin::RegisteredOption",
"optionExists",msg);
88 bonOptInfos_[option] = code;
130 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
131 if(i != bonOptInfos_.end())
138 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
139 if(i != bonOptInfos_.end())
146 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
147 if(i != bonOptInfos_.end())
154 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
155 if(i != bonOptInfos_.end())
163 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
164 if(i != bonOptInfos_.end())
172 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
173 if(i != bonOptInfos_.end())
181 std::map<std::string, int>::iterator i = bonOptInfos_.find(option);
182 if(i != bonOptInfos_.end())
202 std::map<std::string, ExtraCategoriesInfo>::iterator i = categoriesInfos_.find(s);
203 if(i == categoriesInfos_.end())
213 void chooseOptions(
ExtraCategoriesInfo which, std::list<Ipopt::RegisteredOption *> &options);
217 std::map<std::string, int> bonOptInfos_;
220 std::map<std::string, ExtraCategoriesInfo> categoriesInfos_;
void writeHtmlOptionsTable(std::ostream &of, ExtraCategoriesInfo which)
Output html table of options.
RegisteredOptions()
Standard constructor.
void writeLatexHtmlDoc(std::ostream &of, ExtraCategoriesInfo which)
Output Latex/Html ooptions documentation.
void optionValidForBiFP(const std::string &option)
Set that option is valid for B-iFP.
void optionValidForBQG(const std::string &option)
Set that option is valid for QuesadaGrossmann.
void optionValidForBBB(const std::string &option)
Set that option is valid for pure branch-and-bound.
void optionValidForCbc(const std::string &option)
Set that option is valid for Cbc.
void optionExists(const std::string &option)
throw if option does not exists.
void writeBonminOpt(std::ostream &os, ExtraCategoriesInfo which)
Ouptut a bonmin.opt file with options default values and short descriptions.
ExtraCategoriesInfo categoriesInfo(const std::string &s)
Get info about what a category is taking care of (e.g., Ipopt, Bonmin, FilterSQP,....
void SetRegisteringCategory(const std::string ®istering_category, const ExtraCategoriesInfo extra)
Set registering category with extra information.
bool isValidForBiFP(const std::string &option)
Say if option is valid for B-iFP.
void optionValidForBOA(const std::string &option)
Set that option is valid for Outer approximation.
bool isValidForHybrid(const std::string &option)
Say if option is valid for hybrid.
void fillAmplOptionList(ExtraCategoriesInfo which, Ipopt::AmplOptionsList *amplOptList)
void optionValidForHybrid(const std::string &option)
Set that option is valid for hybrid.
bool isValidForBEcp(const std::string &option)
Say if option is valid for B-Ecp.
bool isValidForBBB(const std::string &option)
Say if option is valid for pure branch-and-bound.
bool isValidForBQG(const std::string &option)
Say if option is valid for QuesadaGrossmann.
@ BqpdCategory
Option category for Bqpd.
@ IpoptCategory
Option category for Ipopt.
@ UndocumentedCategory
For undocumented options.
@ CouenneCategory
Option category for Couenne.
@ FilterCategory
Option category for FilterSqp.
void writeLatexOptionsTable(std::ostream &of, ExtraCategoriesInfo which)
Output Latex table of options.
void optionValidForBEcp(const std::string &option)
Set that option is valid for B-Ecp.
@ validInEcp
Say that option is valid in the Ecp (16).
@ validInCbc
Say that option is valid when using Cbc_Par (64).
@ validInQG
Say that option is valid in Quesada Grossmann method (2).
@ validInOA
Say that option is valid in outer approximation dec (4).
@ validIniFP
Say that option is valid in the iFP (32).
@ validInBBB
Say that option is valid in the pure branch-and-bound (8).
bool isValidForBOA(const std::string &option)
Say if option is valid for Outer approximation.
~RegisteredOptions()
Standard destructor.
bool isValidForCbc(const std::string &option)
Say if option is valid for Cbc.
void setOptionExtraInfo(const std::string &option, int code)
Set extra information for option.
virtual void SetRegisteringCategory(const std::string ®istering_category, int priority=0)
virtual SmartPtr< const RegisteredOption > GetOption(const std::string &name)
(C) Copyright International Business Machines Corporation 2007
bool IsValid(const SmartPtr< U > &smart_ptr)