- Main Page
- Namespaces
- Classes
- Files
- Directories

- Search for |

- File List
- File Members

# ClpSimplexPrimal.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpSimplexPrimal.hpp 1665 2011-01-04 17:55:54Z lou $ */
    00002 // Copyright (C) 2002, International Business Machines
    00003 // Corporation and others.  All Rights Reserved.
    00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
    00005 /*
    00006    Authors
    00007
    00008    John Forrest
    00009
    00010  */
    00011 #ifndef ClpSimplexPrimal_H
    00012 #define ClpSimplexPrimal_H
    00013
    00014 #include "ClpSimplex.hpp"
    00015
    00023 class ClpSimplexPrimal : public ClpSimplex {
    00024
    00025 public:
    00026
    00115      int primal(int ifValuesPass = 0, int startFinishOptions = 0);
    00117
    00120
    00121      void alwaysOptimal(bool onOff);
    00122      bool alwaysOptimal() const;
    00127      void exactOutgoing(bool onOff);
    00128      bool exactOutgoing() const;
    00130
    00145      int whileIterating(int valuesOption);
    00146
    00165      int pivotResult(int ifValuesPass = 0);
    00166
    00167
    00172      int updatePrimalsInPrimal(CoinIndexedVector * rowArray,
    00173                                double theta,
    00174                                double & objectiveChange,
    00175                                int valuesPass);
    00184      void primalRow(CoinIndexedVector * rowArray,
    00185                     CoinIndexedVector * rhsArray,
    00186                     CoinIndexedVector * spareArray,
    00187                     int valuesPass);
    00195      void primalColumn(CoinIndexedVector * updateArray,
    00196                        CoinIndexedVector * spareRow1,
    00197                        CoinIndexedVector * spareRow2,
    00198                        CoinIndexedVector * spareColumn1,
    00199                        CoinIndexedVector * spareColumn2);
    00200
    00203      int checkUnbounded(CoinIndexedVector * ray, CoinIndexedVector * spare,
    00204                         double changeCost);
    00215      void statusOfProblemInPrimal(int & lastCleaned, int type,
    00216                                   ClpSimplexProgress * progress,
    00217                                   bool doFactorization,
    00218                                   int ifValuesPass,
    00219                                   ClpSimplex * saveModel = NULL);
    00221      void perturb(int type);
    00223      bool unPerturb();
    00225      int unflag();
    00231      int nextSuperBasic(int superBasicType, CoinIndexedVector * columnArray);
    00232
    00234      void primalRay(CoinIndexedVector * rowArray);
    00236      void clearAll();
    00237
    00239      int lexSolve();
    00240
    00242 };
    00243 #endif
    00244