Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
AbcNonLinearCost.hpp File Reference
#include "CoinPragma.hpp"
#include "AbcCommon.hpp"
+ Include dependency graph for AbcNonLinearCost.hpp:

Go to the source code of this file.

Classes

class  AbcNonLinearCost
 

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
 

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)
 

Macro Definition Documentation

#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 39 of file AbcNonLinearCost.hpp.

#define CLP_FEASIBLE   1

Definition at line 40 of file AbcNonLinearCost.hpp.

#define CLP_ABOVE_UPPER   2

Definition at line 41 of file AbcNonLinearCost.hpp.

#define CLP_SAME   4

Definition at line 42 of file AbcNonLinearCost.hpp.

Function Documentation

int originalStatus ( unsigned char  status)
inline

Definition at line 44 of file AbcNonLinearCost.hpp.

int currentStatus ( unsigned char  status)
inline

Definition at line 48 of file AbcNonLinearCost.hpp.

void setOriginalStatus ( unsigned char &  status,
int  value 
)
inline

Definition at line 52 of file AbcNonLinearCost.hpp.

void setCurrentStatus ( unsigned char &  status,
int  value 
)
inline

Definition at line 57 of file AbcNonLinearCost.hpp.

void setInitialStatus ( unsigned char &  status)
inline

Definition at line 62 of file AbcNonLinearCost.hpp.

void setSameStatus ( unsigned char &  status)
inline

Definition at line 66 of file AbcNonLinearCost.hpp.