11 #ifndef ClpSimplexDual_H
12 #define ClpSimplexDual_H
118 int dual(
int ifValuesPass,
int startFinishOptions = 0);
128 double * newLower,
double * newUpper,
129 double ** outputSolution,
130 int * outputStatus,
int * outputIterations,
131 bool stopOnFirstInfeasible =
true,
132 bool alwaysFinish =
false,
133 int startFinishOptions = 0);
166 CoinIndexedVector * outputArray,
168 double & objectiveChange,
174 CoinIndexedVector * columnArray,
180 CoinIndexedVector * columnArray);
192 double dualColumn(CoinIndexedVector * rowArray,
193 CoinIndexedVector * columnArray,
194 CoinIndexedVector * spareArray,
195 CoinIndexedVector * spareArray2,
196 double accpetablePivot,
197 CoinBigIndex * dubiousWeights);
199 int dualColumn0(
const CoinIndexedVector * rowArray,
200 const CoinIndexedVector * columnArray,
201 CoinIndexedVector * spareArray,
202 double acceptablePivot,
203 double & upperReturn,
double &bestReturn,
double & badFree);
211 CoinIndexedVector * columnArray,
212 double acceptablePivot);
220 CoinIndexedVector * columnArray,
221 double acceptablePivot);
236 void dualRow(
int alreadyChosen);
246 int changeBounds(
int initialize, CoinIndexedVector * outputArray,
247 double & changeCost);
255 int checkUnbounded(CoinIndexedVector * ray, CoinIndexedVector * spare,
277 int fastDual(
bool alwaysFinish =
false);
292 int startupSolve(
int ifValuesPass,
double * saveDuals,
int startFinishOptions);
294 void gutsOfDual(
int ifValuesPass,
double * & saveDuals,
int initialStatus,