Main Page
Classes
Files
File List
File Members
opt
build
clp
clp-1.12.0
Clp
src
ClpSimplexOther.hpp
Go to the documentation of this file.
1
/* $Id: ClpSimplexOther.hpp 1525 2010-02-26 17:27:59Z mjs $ */
2
// Copyright (C) 2004, International Business Machines
3
// Corporation and others. All Rights Reserved.
4
5
/*
6
Authors
7
8
John Forrest
9
10
*/
11
#ifndef ClpSimplexOther_H
12
#define ClpSimplexOther_H
13
14
#include "
ClpSimplex.hpp
"
15
23
class
ClpSimplexOther
:
public
ClpSimplex
{
24
25
public
:
26
49
void
dualRanging
(
int
numberCheck,
const
int
* which,
50
double
* costIncrease,
int
* sequenceIncrease,
51
double
* costDecrease,
int
* sequenceDecrease,
52
double
* valueIncrease = NULL,
double
* valueDecrease = NULL);
67
void
primalRanging
(
int
numberCheck,
const
int
* which,
68
double
* valueIncrease,
int
* sequenceIncrease,
69
double
* valueDecrease,
int
* sequenceDecrease);
83
int
parametrics
(
double
startingTheta,
double
& endingTheta,
double
reportIncrement,
84
const
double
* changeLowerBound,
const
double
* changeUpperBound,
85
const
double
* changeLowerRhs,
const
double
* changeUpperRhs,
86
const
double
* changeObjective);
87
private
:
96
int
parametricsLoop
(
double
startingTheta,
double
& endingTheta,
double
reportIncrement,
97
const
double
* changeLower,
const
double
* changeUpper,
98
const
double
* changeObjective,
ClpDataSave
& data,
99
bool
canTryQuick);
107
void
statusOfProblemInParametrics
(
int
type,
ClpDataSave
&
saveData
);
118
int
whileIterating
(
double
startingTheta,
double
& endingTheta,
double
reportIncrement,
119
const
double
* changeLower,
const
double
* changeUpper,
120
const
double
* changeObjective);
125
int
nextTheta
(
int
type,
double
maxTheta,
double
* primalChange,
double
* dualChange,
126
const
double
* changeLower,
const
double
* changeUpper,
127
const
double
* changeObjective);
133
void
checkDualRatios
(CoinIndexedVector *
rowArray
,
134
CoinIndexedVector *
columnArray
,
135
double
& costIncrease,
int
& sequenceIncrease,
double
& alphaIncrease,
136
double
& costDecrease,
int
& sequenceDecrease,
double
& alphaDecrease);
141
void
checkPrimalRatios
(CoinIndexedVector * rowArray,
142
int
direction);
144
double
primalRanging1
(
int
whichIn,
int
whichOther);
145
146
public
:
161
int
writeBasis
(
const
char
*filename,
162
bool
writeValues =
false
,
163
int
formatType = 0)
const
;
165
int
readBasis
(
const
char
*filename);
171
ClpSimplex
*
dualOfModel
(
double
fractionRowRanges = 1.0,
double
fractionColumnRanges = 1.0)
const
;
175
int
restoreFromDual
(
const
ClpSimplex
* dualProblem);
179
ClpSimplex
*
crunch
(
double
* rhs,
int
* whichRows,
int
* whichColumns,
180
int
& nBound,
bool
moreBounds =
false
,
bool
tightenBounds =
false
);
184
void
afterCrunch
(
const
ClpSimplex
& small,
185
const
int
* whichRows,
const
int
* whichColumns,
186
int
nBound);
188
void
cleanupAfterPostsolve
();
191
int
tightenIntegerBounds
(
double
* rhsSpace);
202
int
expandKnapsack
(
int
knapsackRow,
int
& numberOutput,
203
double
* buildObj, CoinBigIndex * buildStart,
204
int
* buildRow,
double
* buildElement,
int
reConstruct = -1)
const
;
206
};
207
#endif
Generated on Tue Mar 1 2016 22:38:52 by
1.8.4