Dip
0.92.4
|
#include "CoinPragma.hpp"
Go to the source code of this file.
Classes | |
class | ClpNonLinearCost |
Macros | |
#define | CLP_BELOW_LOWER 0 |
Trivial class to deal with non linear costs. More... | |
#define | CLP_FEASIBLE 1 |
#define | CLP_ABOVE_UPPER 2 |
#define | CLP_SAME 4 |
#define | CLP_METHOD1 ((method_ & 1) != 0) |
#define | CLP_METHOD2 ((method_ & 2) != 0) |
Functions | |
int | originalStatus (unsigned char status) |
int | currentStatus (unsigned char status) |
void | setOriginalStatus (unsigned char &status, int value) |
void | setCurrentStatus (unsigned char &status, int value) |
void | setInitialStatus (unsigned char &status) |
void | setSameStatus (unsigned char &status) |
#define CLP_BELOW_LOWER 0 |
Trivial class to deal with non linear costs.
I don't make any explicit assumptions about convexity but I am sure I do make implicit ones.
One interesting idea for normal LP's will be to allow non-basic variables to come into basis as infeasible i.e. if variable at lower bound has very large positive reduced cost (when problem is infeasible) could it reduce overall problem infeasibility more by bringing it into basis below its lower bound.
Another feature would be to automatically discover when problems are convex piecewise linear and re-formulate to use non-linear. I did some work on this many years ago on "grade" problems, but while it improved primal interior point algorithms were much better for that particular problem.
Definition at line 37 of file ClpNonLinearCost.hpp.
Referenced by ClpNonLinearCost::changeInCost().
#define CLP_FEASIBLE 1 |
Definition at line 38 of file ClpNonLinearCost.hpp.
Referenced by ClpNonLinearCost::changeInCost(), and setInitialStatus().
#define CLP_ABOVE_UPPER 2 |
Definition at line 39 of file ClpNonLinearCost.hpp.
Referenced by ClpNonLinearCost::changeInCost().
#define CLP_SAME 4 |
Definition at line 40 of file ClpNonLinearCost.hpp.
Referenced by ClpNonLinearCost::changeInCost(), setInitialStatus(), and setSameStatus().
#define CLP_METHOD1 ((method_ & 1) != 0) |
Definition at line 71 of file ClpNonLinearCost.hpp.
Referenced by ClpNonLinearCost::changeDownInCost(), ClpNonLinearCost::changeInCost(), and ClpNonLinearCost::changeUpInCost().
#define CLP_METHOD2 ((method_ & 2) != 0) |
Definition at line 72 of file ClpNonLinearCost.hpp.
Referenced by ClpNonLinearCost::changeDownInCost(), ClpNonLinearCost::changeInCost(), and ClpNonLinearCost::changeUpInCost().
|
inline |
Definition at line 41 of file ClpNonLinearCost.hpp.
|
inline |
Definition at line 45 of file ClpNonLinearCost.hpp.
|
inline |
Definition at line 49 of file ClpNonLinearCost.hpp.
|
inline |
Definition at line 54 of file ClpNonLinearCost.hpp.
|
inline |
Definition at line 59 of file ClpNonLinearCost.hpp.
References CLP_FEASIBLE, and CLP_SAME.
|
inline |
Definition at line 63 of file ClpNonLinearCost.hpp.
References CLP_SAME.