Loading...
Searching...
No Matches
ClpNonLinearCost.hpp File Reference
`#include "CoinPragma.hpp"`
Include dependency graph for ClpNonLinearCost.hpp:
This graph shows which files directly or indirectly include this file:

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.
#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)

## Macro Definition Documentation

## CLP_BELOW_LOWER

#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.

## CLP_FEASIBLE

#define CLP_FEASIBLE 1

Definition at line 38 of file ClpNonLinearCost.hpp.

## CLP_ABOVE_UPPER

#define CLP_ABOVE_UPPER 2

Definition at line 39 of file ClpNonLinearCost.hpp.

## CLP_SAME

#define CLP_SAME 4

Definition at line 40 of file ClpNonLinearCost.hpp.

## CLP_METHOD1

#define CLP_METHOD1 ((method_ & 1) != 0)

Definition at line 71 of file ClpNonLinearCost.hpp.

## CLP_METHOD2

#define CLP_METHOD2 ((method_ & 2) != 0)

Definition at line 72 of file ClpNonLinearCost.hpp.

## Function Documentation

## originalStatus()

int originalStatus | ( | unsigned char | status | ) |

inline

Definition at line 41 of file ClpNonLinearCost.hpp.

## currentStatus()

int currentStatus | ( | unsigned char | status | ) |

inline

Definition at line 45 of file ClpNonLinearCost.hpp.

## setOriginalStatus()

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

inline

Definition at line 49 of file ClpNonLinearCost.hpp.

## setCurrentStatus()

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

inline

Definition at line 54 of file ClpNonLinearCost.hpp.

## setInitialStatus()

void setInitialStatus | ( | unsigned char & | status | ) |

inline

Definition at line 59 of file ClpNonLinearCost.hpp.

## setSameStatus()

void setSameStatus | ( | unsigned char & | status | ) |

inline

Definition at line 63 of file ClpNonLinearCost.hpp.