Go to the documentation of this file.
14 #define OsiSolverInterface ClpSimplex
120 smallInfeas_ = value;
127 return reasonableInfeas_;
131 reasonableInfeas_ = value;
137 return exitFeasibility_;
141 exitFeasibility_ = value;
147 return majorIterations_;
151 majorIterations_ = value;
203 lightWeight_ = value;
217 return dropEnoughFeasibility_;
221 dropEnoughFeasibility_ = value;
226 return dropEnoughWeighted_;
230 dropEnoughWeighted_ = value;
248 int nrows,
int ncols,
double *rowsol,
double *colsol,
249 double *pi,
double *djs,
const double *origcost,
251 double *rowupper,
const double *lower,
252 const double *upper,
const double *element,
254 const int *length,
double *lambda,
255 int maxIts,
double mu,
double drop,
256 double maxmin,
double offset,
257 int strategy,
double djTol,
double djExit,
double djFlag,
263 IdiotResult objval(
int nrows,
int ncols,
double *rowsol,
double *colsol,
264 double *pi,
double *djs,
const double *cost,
265 const double *rowlower,
266 const double *rowupper,
const double *lower,
267 const double *upper,
const double *elemnt,
269 const int *length,
int extraBlock,
int *rowExtra,
270 double *solExtra,
double *elemExtra,
double *upperExtra,
271 double *costExtra,
double weight);
273 int cleanIteration(
int iteration,
int ordinaryStart,
int ordinaryEnd,
274 double *colsol,
const double *lower,
const double *upper,
275 const double *rowLower,
const double *rowUpper,
276 const double *cost,
const double *element,
double fixTolerance,
double &objChange,
277 double &infChange,
double &maxInfeasibility);
289 double reasonableInfeas_;
292 double exitFeasibility_;
293 double dropEnoughFeasibility_;
294 double dropEnoughWeighted_;
298 int majorIterations_;
302 int lambdaIterations_;
void setDropEnoughFeasibility(double value)
int getLogLevel() const
Amount of information - default of 1 should be okay.
void setReduceIterations(int value)
void setStrategy(int value)
int getMinorIterations0() const
double getFeasibilityTolerance() const
Feasibility tolerance - problem essentially feasible if individual infeasibilities less than this.
void solve()
Get an approximate solution with the idiot code.
double getDropEnoughFeasibility() const
Fine tuning - okay if feasibility drop this factor.
This class implements a very silly algorithm.
void setMinorIterations0(int value)
double getStartingWeight() const
Starting weight - small emphasizes feasibility, default 1.0e-4.
double getWeightFactor() const
Weight factor - weight multiplied by this when changes, default 0.333.
void setWeightFactor(double value)
void solve2(CoinMessageHandler *handler, const CoinMessages *messages)
Stuff for internal use.
void setDropEnoughWeighted(double value)
void setMinorIterations(int value)
Idiot()
Default constructor.
void setReasonablyFeasible(double value)
int getLightweight() const
How lightweight - 0 not, 1 yes, 2 very lightweight.
void crash(int numberPass, CoinMessageHandler *handler, const CoinMessages *messages, bool doCrossover=true)
Lightweight "crash".
int getReduceIterations() const
Reduce weight after this many major iterations.
int getMajorIterations() const
Major iterations.
void setMajorIterations(int value)
int getStrategy() const
strategy
void crossOver(int mode)
Use simplex to get an optimal solution mode is how many steps the simplex crossover should take to ar...
int getMinorIterations() const
Minor iterations.
void setModel(OsiSolverInterface *model)
Set model.
double getExitInfeasibility() const
Exit infeasibility - exit if sum of infeasibilities less than this.
void setLightweight(int value)
void setFeasibilityTolerance(double value)
void setExitInfeasibility(double value)
double getReasonablyFeasible() const
Reasonably feasible.
void setStartingWeight(double value)
double getDropEnoughWeighted() const
Fine tuning - okay if weighted obj drop this factor.
void setLogLevel(int value)
Idiot & operator=(const Idiot &rhs)
Assignment operator. This copies the data.