Clp 1.17.5
Loading...
Searching...
No Matches
CbcOrClpParam.hpp
Go to the documentation of this file.
1
2/* $Id: CbcOrClpParam.hpp 2468 2019-05-03 04:31:14Z stefan $ */
3// Copyright (C) 2002, International Business Machines
4// Corporation and others. All Rights Reserved.
5// This code is licensed under the terms of the Eclipse Public License (EPL).
6
7#ifdef USE_CBCCONFIG
8#include "CbcConfig.h"
9#else
10#include "ClpConfig.h"
11#endif
12
13#ifndef CbcOrClpParam_H
14#define CbcOrClpParam_H
28class CbcModel;
29class ClpSimplex;
49
50{
53
63
71
83
85#ifndef COIN_HAS_CBC
87#endif
109
140#ifdef COIN_HAS_CBC
142#endif
150
177
229
281
290
293
296#include <vector>
297#include <string>
298
300
302public:
307 CbcOrClpParam(std::string name, std::string help,
308 double lower, double upper, CbcOrClpParameterType type, int display = 2);
309 CbcOrClpParam(std::string name, std::string help,
310 int lower, int upper, CbcOrClpParameterType type, int display = 2);
311 // Other strings will be added by insert
312 CbcOrClpParam(std::string name, std::string help, std::string firstValue,
313 CbcOrClpParameterType type, int whereUsed = 7, int display = 2);
314 // Action
315 CbcOrClpParam(std::string name, std::string help,
316 CbcOrClpParameterType type, int whereUsed = 7, int display = 2);
324
328 void append(std::string keyWord);
330 void addHelp(std::string keyWord);
332 inline std::string name() const
333 {
334 return name_;
335 }
337 inline std::string shortHelp() const
338 {
339 return shortHelp_;
340 }
342 inline std::string longHelp() const
343 {
344 return longHelp_;
345 }
347 inline const std::vector<std::string>& definedKeywords() const
348 {
349 return definedKeyWords_;
350 }
352 inline double lowerDoubleValue() const
353 {
354 return lowerDoubleValue_;
355 }
357 inline double upperDoubleValue() const
358 {
359 return upperDoubleValue_;
360 }
362 inline int lowerIntValue() const
363 {
364 return lowerIntValue_;
365 }
367 inline int upperIntValue() const
368 {
369 return upperIntValue_;
370 }
372 int setDoubleParameter(CbcModel &model, double value);
374 const char *setDoubleParameterWithMessage(CbcModel &model, double value, int &returnCode);
376 double doubleParameter(CbcModel &model) const;
378 int setIntParameter(CbcModel &model, int value);
380 const char *setIntParameterWithMessage(CbcModel &model, int value, int &returnCode);
382 int intParameter(CbcModel &model) const;
384 int setDoubleParameter(ClpSimplex *model, double value);
386 double doubleParameter(ClpSimplex *model) const;
388 const char *setDoubleParameterWithMessage(ClpSimplex *model, double value, int &returnCode);
390 int setIntParameter(ClpSimplex *model, int value);
392 const char *setIntParameterWithMessage(ClpSimplex *model, int value, int &returnCode);
394 int intParameter(ClpSimplex *model) const;
396 int setDoubleParameter(OsiSolverInterface *model, double value);
398 const char *setDoubleParameterWithMessage(OsiSolverInterface *model, double value, int &returnCode);
402 int setIntParameter(OsiSolverInterface *model, int value);
404 const char *setIntParameterWithMessage(OsiSolverInterface *model, int value, int &returnCode);
408 int checkDoubleParameter(double value) const;
410 std::string matchName() const;
412 int lengthMatchName() const;
414 int parameterOption(std::string check) const;
416 void printOptions() const;
418 inline std::string currentOption() const
419 {
421 }
423 void setCurrentOption(int value, bool printIt = false);
425 const char *setCurrentOptionWithMessage(int value);
427 void setCurrentOption(const std::string value);
429 const char *setCurrentOptionWithMessage(const std::string value);
436 int currentOptionAsInteger(int &fakeInteger) const;
438 void setIntValue(int value);
440 const char *setIntValueWithMessage(int value);
441 inline int intValue() const
442 {
443 return intValue_;
444 }
446 void setDoubleValue(double value);
448 const char *setDoubleValueWithMessage(double value);
449 inline double doubleValue() const
450 {
451 return doubleValue_;
452 }
454 void setStringValue(std::string value);
455 inline std::string stringValue() const
456 {
457 return stringValue_;
458 }
460 int matches(std::string input) const;
463 {
464 return type_;
465 }
467 inline int displayThis() const
468 {
469 return display_;
470 }
472 inline void setLonghelp(const std::string help)
473 {
474 longHelp_ = help;
475 }
477 void printLongHelp() const;
479 void printString() const;
485 inline int whereUsed() const
486 {
487 return whereUsed_;
488 }
490 inline int fakeKeyWord() const
491 {
492 return fakeKeyWord_;
493 }
495 inline void setFakeKeyWord(int value, int fakeValue)
496 {
497 fakeKeyWord_ = value;
498 fakeValue_ = fakeValue;
499 }
501 void setFakeKeyWord(int fakeValue);
502
503private:
507
508private:
513 // Type see CbcOrClpParameterType
521 // Length of name
522 unsigned int lengthName_;
523 // Minimum match
524 unsigned int lengthMatch_;
526 std::vector< std::string > definedKeyWords_;
528 std::string name_;
530 std::string shortHelp_;
532 std::string longHelp_;
544 std::string stringValue_;
559};
561std::string CoinReadNextField();
562
563std::string CoinReadGetCommand(int argc, const char *argv[]);
564std::string CoinReadGetString(int argc, const char *argv[]);
565// valid 0 - okay, 1 bad, 2 not there
566int CoinReadGetIntField(int argc, const char *argv[], int *valid);
567double CoinReadGetDoubleField(int argc, const char *argv[], int *valid);
568void CoinReadPrintit(const char *input);
569void setCbcOrClpPrinting(bool yesNo);
570#define CBCMAXPARAMETERS 250
571/*
572 Subroutine to establish the cbc parameter array. See the description of
573 class CbcOrClpParam for details. Pulled from C..Main() for clarity.
574*/
575void establishParams(std::vector< CbcOrClpParam > &params);
576// Given a parameter type - returns its number in list
578 const std::vector< CbcOrClpParam > &parameters);
579// Dump/restore a solution to file
580void saveSolution(const ClpSimplex *lpSolver, std::string fileName);
581void restoreSolution(ClpSimplex *lpSolver, std::string fileName, int mode);
582#endif /* CbcOrClpParam_H */
583
584/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
585*/
void setCbcOrClpPrinting(bool yesNo)
std::string CoinReadGetString(int argc, const char *argv[])
void restoreSolution(ClpSimplex *lpSolver, std::string fileName, int mode)
std::string CoinReadNextField()
Simple read stuff.
void saveSolution(const ClpSimplex *lpSolver, std::string fileName)
int whichParam(const CbcOrClpParameterType &name, const std::vector< CbcOrClpParam > &parameters)
void CoinReadPrintit(const char *input)
double CoinReadGetDoubleField(int argc, const char *argv[], int *valid)
CbcOrClpParameterType
Parameter codes.
@ CBC_PARAM_NOTUSED_CBCSTUFF
@ CBC_PARAM_STR_PREPROCESS
@ CLP_PARAM_STR_CROSSOVER
@ CBC_PARAM_STR_RANDROUND
@ CLP_PARAM_INT_DUALIZE
@ CLP_PARAM_INT_SUBSTITUTION
@ CLP_PARAM_ACTION_PRIMALSIMPLEX
@ CLP_PARAM_ACTION_DUALSIMPLEX
@ CBC_PARAM_ACTION_MIPLIB
@ CLP_PARAM_DBL_OBJSCALE
@ CLP_PARAM_ACTION_NEXTBESTSOLUTION
@ CLP_PARAM_INT_VERBOSE
@ CLP_PARAM_STR_CHOLESKY
@ CBC_PARAM_NOTUSED_INVALID
@ CBC_PARAM_STR_DW
@ CBC_PARAM_INT_EXTRA4
@ CLP_PARAM_DBL_TIMELIMIT
@ CLP_PARAM_INT_LOGLEVEL
@ CBC_PARAM_INT_STRONG_STRATEGY
@ CLP_PARAM_ACTION_NETWORK
@ CLP_PARAM_STR_PFI
@ CLP_PARAM_ACTION_DIRECTORY
@ CBC_PARAM_ACTION_DIRMIPLIB
@ CBC_PARAM_DBL_INFEASIBILITYWEIGHT
@ CLP_PARAM_STR_BUFFER_MODE
@ CLP_PARAM_STR_DUALPIVOT
@ CLP_PARAM_STR_MESSAGES
@ CBC_PARAM_STR_COSTSTRATEGY
@ CBC_PARAM_STR_COMBINE
@ CBC_PARAM_INT_MULTIPLEROOTS
@ CLP_PARAM_INT_MORESPECIALOPTIONS
@ CBC_PARAM_INT_STRATEGY
@ CBC_PARAM_ACTION_MIPSTART
@ CLP_PARAM_STR_SPARSEFACTOR
@ CLP_PARAM_ACTION_EITHERSIMPLEX
@ CLP_PARAM_ACTION_UNITTEST
@ CBC_PARAM_STR_PROXIMITY
@ CBC_PARAM_INT_EXTRA1
@ CLP_PARAM_INT_PRESOLVEPASS
@ CBC_PARAM_STR_NODESTRATEGY
@ CBC_PARAM_STR_LAGOMORYCUTS
@ CBC_PARAM_STR_LANDPCUTS
@ CBC_PARAM_DBL_ARTIFICIALCOST
@ CLP_PARAM_DBL_PSI
@ CBC_PARAM_INT_EXTRA2
@ CBC_PARAM_INT_DIVEOPTSOLVES
@ CLP_PARAM_ACTION_USERCLP
@ CBC_PARAM_DBL_DJFIX
@ CBC_PARAM_STR_LATWOMIRCUTS
@ CBC_PARAM_DBL_SMALLBAB
@ CBC_PARAM_STR_PIVOTANDCOMPLEMENT
@ CBC_PARAM_STR_RESIDCUTS
@ CBC_PARAM_STR_ROUNDING
@ CLP_PARAM_DBL_RHSSCALE
@ CLP_PARAM_STR_DIRECTION
@ CBC_PARAM_STR_CLIQUECUTS
@ CLP_PARAM_INT_MAXFACTOR
@ CLP_PARAM_STR_KEEPNAMES
@ CLP_PARAM_ACTION_NETLIB_TUNE
@ CBC_PARAM_INT_CUTLENGTH
@ CBC_PARAM_INT_MOREMIPOPTIONS
@ CBC_PARAM_STR_MIXEDCUTS
@ CLP_PARAM_ACTION_PARAMETRICS
@ CLP_PARAM_DBL_ZEROTOLERANCE
@ CBC_PARAM_ACTION_USERCBC
@ CBC_PARAM_STR_VND
@ CBC_PARAM_DBL_TIMELIMIT_BAB
@ CBC_PARAM_STR_DINS
@ CLP_PARAM_ACTION_STOREDFILE
@ CLP_PARAM_ACTION_ALLSLACK
@ CLP_PARAM_INT_PROCESSTUNE
@ CBC_PARAM_STR_CPX
@ CLP_PARAM_STR_CRASH
@ CLP_PARAM_ACTION_CSVSTATISTICS
@ CLP_PARAM_ACTION_PRINTMASK
@ CLP_PARAM_ACTION_DIRNETLIB
@ CBC_PARAM_STR_RINS
@ CLP_PARAM_ACTION_HELP
@ CLP_PARAM_ACTION_EXPORT
@ CBC_PARAM_STR_GMICUTS
@ CLP_PARAM_INT_RANDOMSEED
@ CLP_PARAM_INT_PRESOLVEOPTIONS
@ CBC_PARAM_STR_BRANCHSTRATEGY
@ CBC_PARAM_INT_EXTRA3
@ CBC_PARAM_DBL_INCREMENT
@ CBC_PARAM_DBL_ALLOWABLEGAP
@ CLP_PARAM_ACTION_NETLIB_PRIMAL
@ CBC_PARAM_INT_NUMBERANALYZE
@ CLP_PARAM_ACTION_PLUSMINUS
@ CLP_PARAM_DBL_PRIMALWEIGHT
@ CBC_PARAM_DBL_TIGHTENFACTOR
@ CBC_PARAM_INT_HOPTIONS
@ CLP_PARAM_INT_IDIOT
@ CBC_PARAM_INT_THREADS
@ CBC_PARAM_STR_DIVINGV
@ CLP_PARAM_ACTION_CLEARCUTS
@ CLP_PARAM_ACTION_IMPORT
@ CLP_PARAM_INT_SPECIALOPTIONS
@ CBC_PARAM_ACTION_BAB
@ CLP_PARAM_INT_SLPVALUE
@ CBC_PARAM_DBL_DEXTRA4
@ CBC_PARAM_STR_DIVINGG
@ CBC_PARAM_INT_MAXNODES
@ CLP_PARAM_STR_PERTURBATION
@ CLP_PARAM_INT_PRINTOPTIONS
@ CBC_PARAM_INT_TESTOSI
@ CLP_PARAM_INT_OUTPUTFORMAT
@ CBC_PARAM_STR_SOS
@ CLP_PARAM_ACTION_STDIN
@ CLP_PARAM_ACTION_BASISOUT
@ CBC_PARAM_ACTION_STRENGTHEN
@ CLP_PARAM_STR_ALLCOMMANDS
@ CBC_PARAM_INT_NUMBERBEFORE
@ CBC_PARAM_STR_DIVINGC
@ CLP_PARAM_ACTION_RESTORESOL
@ CLP_PARAM_INT_USESOLUTION
@ CBC_PARAM_INT_FPUMPTUNE
@ CLP_PARAM_ACTION_DUMMY
@ CLP_PARAM_DBL_PRIMALTOLERANCE
@ CBC_PARAM_DBL_DEXTRA3
@ CBC_PARAM_STR_HEURISTICSTRATEGY
@ CBC_PARAM_STR_DIVINGS
@ CLP_PARAM_ACTION_NETLIB_BARRIER
@ CBC_PARAM_INT_EXTRA_VARIABLES
@ CLP_PARAM_INT_MAXITERATION
@ CLP_PARAM_DBL_OBJSCALE2
@ CBC_PARAM_INT_MOREMOREMIPOPTIONS
@ CLP_PARAM_ACTION_GUESS
@ CBC_PARAM_STR_LOCALTREE
@ CLP_PARAM_DBL_DUALTOLERANCE
@ CLP_PARAM_ACTION_TIGHTEN
@ CLP_PARAM_ACTION_MINIMIZE
@ CBC_PARAM_INT_MIPOPTIONS
@ CBC_PARAM_STR_SOSPRIORITIZE
@ CBC_PARAM_INT_MAX_SLOW_CUTS
@ CBC_PARAM_ACTION_DOHEURISTIC
@ CLP_PARAM_INT_VECTOR_MODE
@ CBC_PARAM_INT_VUBTRY
@ CBC_PARAM_STR_TWOMIRCUTS
@ CBC_PARAM_STR_GREEDY
@ CBC_PARAM_INT_MAXHOTITS
@ CLP_PARAM_STR_FACTORIZATION
@ CLP_PARAM_ACTION_DEBUG
@ CLP_PARAM_ACTION_REALLY_SCALE
@ CBC_PARAM_STR_ORBITAL
@ CLP_PARAM_ACTION_SAVESOL
@ CLP_PARAM_ACTION_FAKEBOUND
@ CBC_PARAM_INT_CUTPASS
@ CBC_PARAM_INT_MAXSAVEDSOLS
@ CLP_PARAM_ACTION_MAXIMIZE
@ CLP_PARAM_STR_PRIMALPIVOT
@ CBC_PARAM_GENERALQUERY
@ CBC_PARAM_INT_FPUMPITS
@ CBC_PARAM_DBL_GAPRATIO
@ CLP_PARAM_STR_ABCWANTED
@ CLP_PARAM_STR_TIME_MODE
@ CBC_PARAM_STR_RENS
@ CBC_PARAM_STR_CUTSSTRATEGY
@ CBC_PARAM_STR_PREPROCNAMES
@ CBC_PARAM_STR_KNAPSACKCUTS
@ CBC_PARAM_INT_DEPTHMINIBAB
@ CLP_PARAM_INT_CPP
@ CLP_PARAM_STR_PRESOLVE
@ CBC_PARAM_STR_ZEROHALFCUTS
@ CBC_PARAM_STR_SOLVER
@ CBC_PARAM_STR_GOMORYCUTS
@ CBC_PARAM_STR_PIVOTANDFIX
@ CBC_PARAM_STR_PROBINGCUTS
@ CBC_PARAM_STR_CUTOFF_CONSTRAINT
@ CLP_PARAM_ACTION_SOLUTION
@ CBC_PARAM_INT_EXPERIMENT
@ CBC_PARAM_FULLGENERALQUERY
@ CLP_PARAM_ACTION_VERSION
@ CLP_PARAM_STR_GAMMA
@ CLP_PARAM_STR_ERRORSALLOWED
@ CLP_PARAM_ACTION_NETLIB_EITHER
@ CLP_PARAM_ACTION_OUTDUPROWS
@ CLP_PARAM_ACTION_STATISTICS
@ CLP_PARAM_STR_VECTOR
@ CLP_PARAM_ACTION_EXIT
@ CBC_PARAM_STR_FPUMP
@ CLP_PARAM_ACTION_BASISIN
@ CBC_PARAM_ACTION_PRIORITYIN
@ CBC_PARAM_STR_FLOWCUTS
@ CBC_PARAM_INT_MAXSOLS
@ CBC_PARAM_INT_FPUMPTUNE2
@ CBC_PARAM_STR_REDSPLIT2CUTS
@ CLP_PARAM_STR_BARRIERSCALE
@ CLP_PARAM_DBL_DUALBOUND
@ CLP_PARAM_ACTION_REVERSE
@ CBC_PARAM_STR_REDSPLITCUTS
@ CLP_PARAM_INT_SOLVERLOGLEVEL
@ CBC_PARAM_INT_CUTDEPTH
@ CLP_PARAM_ACTION_RESTORE
@ CLP_PARAM_STR_AUTOSCALE
@ CBC_PARAM_STR_NAIVE
@ CBC_PARAM_DBL_FAKECUTOFF
@ CBC_PARAM_DBL_FAKEINCREMENT
@ CLP_PARAM_ACTION_SOLVECONTINUOUS
@ CLP_PARAM_ACTION_ENVIRONMENT
@ CLP_PARAM_ACTION_SAVE
@ CLP_PARAM_STR_BIASLU
@ CBC_PARAM_INT_DENSE
@ CBC_PARAM_DBL_INTEGERTOLERANCE
@ CLP_PARAM_INT_DECOMPOSE_BLOCKS
@ CBC_PARAM_INT_SMALLFACT
@ CLP_PARAM_ACTION_BARRIER
@ CBC_PARAM_NOTUSED_OSLSTUFF
@ CLP_PARAM_STR_INTPRINT
@ CLP_PARAM_ACTION_NETLIB_DUAL
@ CBC_PARAM_INT_RANDOMSEED
@ CLP_PARAM_INT_SPRINT
@ CBC_PARAM_STR_DIVINGF
@ CBC_PARAM_INT_CUTPASSINTREE
@ CLP_PARAM_ACTION_DIRSAMPLE
@ CBC_PARAM_INT_STRONGBRANCHING
@ CLP_PARAM_STR_KKT
@ CLP_PARAM_DBL_PRESOLVETOLERANCE
@ CBC_PARAM_INT_DIVEOPT
@ CBC_PARAM_STR_DIVINGL
@ CBC_PARAM_STR_DIVINGP
@ CBC_PARAM_DBL_CUTOFF
@ CLP_PARAM_ACTION_GMPL_SOLUTION
@ CLP_PARAM_STR_SCALING
@ CBC_PARAM_STR_CROSSOVER2
@ CBC_PARAM_DBL_DEXTRA5
@ CLP_PARAM_ACTION_MODELIN
@ CLP_PARAM_INT_PERTVALUE
std::string CoinReadGetCommand(int argc, const char *argv[])
int CoinReadGetIntField(int argc, const char *argv[], int *valid)
void establishParams(std::vector< CbcOrClpParam > &params)
#define OsiSolverInterface
Definition Idiot.hpp:14
Very simple class for setting parameters.
CbcOrClpParam()
Constructors.
std::string longHelp() const
Returns long help.
const char * setDoubleValueWithMessage(double value)
Sets double value with message.
int setDoubleParameter(CbcModel &model, double value)
Sets a double parameter (nonzero code if error)
int lowerIntValue() const
Returns the lower bound for an int-valued parameter.
int whereUsed() const
7 if used everywhere, 1 - used by clp 2 - used by cbc 4 - used by ampl
void setStringValue(std::string value)
Sets string value.
std::string name_
Name.
int upperIntValue() const
Returns the upper bound for an int-valued parameter.
void printLongHelp() const
Print Long help.
std::string currentOption() const
Returns current parameter option.
void setDoubleValue(double value)
Sets double value.
void setCurrentOption(int value, bool printIt=false)
Sets current parameter option.
void setCurrentOption(const std::string value)
Sets current parameter option using string.
const std::vector< std::string > & definedKeywords() const
Returns set of valid strings.
void setLonghelp(const std::string help)
Set Long help.
std::string matchName() const
Returns name which could match.
const char * setDoubleParameterWithMessage(ClpSimplex *model, double value, int &returnCode)
Sets double parameter and returns printable string and error code.
CbcOrClpParam(std::string name, std::string help, double lower, double upper, CbcOrClpParameterType type, int display=2)
void printOptions() const
Prints parameter options.
int currentOptionAsInteger() const
Returns current parameter option position.
double doubleParameter(ClpSimplex *model) const
Gets a double parameter.
const char * setIntParameterWithMessage(CbcModel &model, int value, int &returnCode)
Sets int parameter and returns printable string and error code.
int setDoubleParameter(ClpSimplex *model, double value)
Sets a double parameter (nonzero code if error)
const char * setIntParameterWithMessage(ClpSimplex *model, int value, int &returnCode)
Sets int parameter and returns printable string and error code.
std::string shortHelp_
Short help.
void setIntValue(int value)
Sets int value.
void append(std::string keyWord)
Insert string (only valid for keywords)
int currentKeyWord_
Current keyWord (if a keyword parameter)
int display_
Display on ?
const char * setDoubleParameterWithMessage(CbcModel &model, double value, int &returnCode)
Sets double parameter and returns printable string and error code.
void gutsOfConstructor()
gutsOfConstructor
int displayThis() const
whether to display
int lengthMatchName() const
Returns length of name for ptinting.
std::vector< std::string > definedKeyWords_
set of valid strings
int setIntParameter(OsiSolverInterface *model, int value)
Sets a int parameter (nonzero code if error)
double doubleValue() const
int intParameter(CbcModel &model) const
Gets a int parameter.
void printString() const
Print action and string.
CbcOrClpParameterType action_
Action.
void addHelp(std::string keyWord)
Adds one help line.
int fakeValue_
Return this as main value if an integer.
const char * setIntValueWithMessage(int value)
Sets int value with message.
std::string name() const
Returns name.
int intParameter(ClpSimplex *model) const
Gets a int parameter.
int intParameter(OsiSolverInterface *model) const
Gets a int parameter.
double doubleValue_
Double parameter - current value.
int lowerIntValue_
If int == okay.
std::string shortHelp() const
Returns short help.
CbcOrClpParameterType type_
unsigned int lengthName_
const char * setCurrentOptionWithMessage(const std::string value)
Sets current parameter option using string with message.
const char * setCurrentOptionWithMessage(int value)
Sets current parameter option and returns printable string.
double lowerDoubleValue_
If double == okay.
int intValue_
Integer parameter - current value.
double doubleParameter(OsiSolverInterface *model) const
Gets a double parameter.
void setFakeKeyWord(int fakeValue)
Sets value of fake keyword to current size of keywords.
CbcOrClpParam(std::string name, std::string help, CbcOrClpParameterType type, int whereUsed=7, int display=2)
std::string longHelp_
Long help.
int setDoubleParameter(OsiSolverInterface *model, double value)
Sets a double parameter (nonzero code if error)
int parameterOption(std::string check) const
Returns parameter option which matches (-1 if none)
CbcOrClpParam & operator=(const CbcOrClpParam &rhs)
Assignment operator. This copies the data.
int whereUsed_
7 if used everywhere, 1 - used by clp 2 - used by cbc 4 - used by ampl
std::string stringValue_
String parameter - current value.
CbcOrClpParam(const CbcOrClpParam &)
Copy constructor.
double lowerDoubleValue() const
Returns the lower bound for a double-valued parameter.
CbcOrClpParam(std::string name, std::string help, std::string firstValue, CbcOrClpParameterType type, int whereUsed=7, int display=2)
CbcOrClpParam(std::string name, std::string help, int lower, int upper, CbcOrClpParameterType type, int display=2)
const char * setIntParameterWithMessage(OsiSolverInterface *model, int value, int &returnCode)
Sets int parameter and returns printable string and error code.
int currentOptionAsInteger(int &fakeInteger) const
Returns current parameter option position but if fake keyword returns a fake value and sets fakeInteg...
unsigned int lengthMatch_
void setFakeKeyWord(int value, int fakeValue)
Sets value of fake keyword.
std::string stringValue() const
int checkDoubleParameter(double value) const
Checks a double parameter (nonzero code if error)
int matches(std::string input) const
Returns 1 if matches minimum, 2 if matches less, 0 if not matched.
int intValue() const
int setIntParameter(CbcModel &model, int value)
Sets a int parameter (nonzero code if error)
~CbcOrClpParam()
Destructor.
double doubleParameter(CbcModel &model) const
Gets a double parameter.
int fakeKeyWord() const
Gets value of fake keyword.
int fakeKeyWord_
If >=0 then integers allowed as a fake keyword So minusnnnn would got to -nnnn in currentKeyword_ and...
int setIntParameter(ClpSimplex *model, int value)
Sets a int parameter (nonzero code if error)
const char * setDoubleParameterWithMessage(OsiSolverInterface *model, double value, int &returnCode)
Sets double parameter and returns printable string and error code.
CbcOrClpParameterType type() const
type
double upperDoubleValue() const
Returns the upper bound for a double-valued parameter.
This solves LPs using the simplex method.