Changeset 890 for branches


Ignore:
Timestamp:
Nov 9, 2006 10:45:27 AM (13 years ago)
Author:
forrest
Message:

for verbosity and C interface for barrier

M src/Clp_C_Interface.h
M src/ClpSimplex.hpp
M src/ClpSolve.cpp
M src/Clp_C_Interface.cpp

Location:
branches/devel/Clp/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/devel/Clp/src/ClpSimplex.hpp

    r854 r890  
    206206  /// Primal initial solve
    207207  int initialPrimalSolve();
     208 /// Barrier initial solve
     209  int initialBarrierSolve();
     210  /// Barrier initial solve, not to be followed by crossover
     211  int initialBarrierNoCrossSolve();
    208212  /** Dual algorithm - see ClpSimplexDual.hpp for method.
    209213      ifValuesPass==2 just does values pass and then stops.
  • branches/devel/Clp/src/ClpSolve.cpp

    r889 r890  
    4545#define FAST_BARRIER
    4646#endif
     47#ifdef COIN_DEVELOP
    4748#ifndef FAST_BARRIER
    4849static int numberBarrier=0;
     50#endif
    4951#endif
    5052#ifdef COIN_HAS_VOL
     
    17731775      scale=true;
    17741776    }
     1777#ifdef COIN_DEVELOP
    17751778#ifndef FAST_BARRIER
    17761779    if (!numberBarrier)
     
    17781781               <<"The factorization is being improved"<<std::endl;
    17791782    numberBarrier++;
     1783#endif
    17801784#endif
    17811785    // If quadratic force KKT
     
    23062310  return initialSolve(options);
    23072311}
     2312// barrier solve, not to be followed by crossover
     2313int
     2314ClpSimplex::initialBarrierNoCrossSolve()
     2315{
     2316  ClpSolve options;
     2317  // Use primal
     2318  options.setSolveType(ClpSolve::useBarrierNoCross);
     2319  return initialSolve(options);
     2320}
     2321
     2322// General barrier solve
     2323int
     2324ClpSimplex::initialBarrierSolve()
     2325{
     2326  ClpSolve options;
     2327  // Use primal
     2328  options.setSolveType(ClpSolve::useBarrier);
     2329  return initialSolve(options);
     2330}
     2331
    23082332// Default constructor
    23092333ClpSolve::ClpSolve (  )
  • branches/devel/Clp/src/Clp_C_Interface.cpp

    r778 r890  
    1717#include "CoinHelperFunctions.hpp"
    1818#include "ClpSimplex.hpp"
     19#include "ClpInterior.hpp"
    1920#include <cfloat>
    2021// Get C stuff but with extern C
     
    251252                             collb,colub,obj,rowlb,rowub);
    252253}
     254/* read quadratic part of the objective (the matrix part) */
     255COINLIBAPI void COINLINKAGE
     256Clp_loadQuadraticObjective(Clp_Simplex * model, 
     257                           const int numberColumns,
     258                           const CoinBigIndex * start,
     259                           const int * column,
     260                           const double * element)
     261{
     262
     263   model->model_->loadQuadraticObjective(numberColumns,
     264                                         start, column, element);
     265
     266}
    253267/* Read an mps file from the given filename */
    254268COINLIBAPI int COINLINKAGE
     
    731745{
    732746  return model->model_->initialSolve();
     747}
     748/* Barrier initial solve */
     749COINLIBAPI int COINLINKAGE
     750Clp_initialBarrierSolve(Clp_Simplex * model0)
     751{
     752   ClpSimplex *model = model0->model_;
     753
     754   return model->initialBarrierSolve();
     755   
     756}
     757/* Barrier initial solve */
     758COINLIBAPI int COINLINKAGE
     759Clp_initialBarrierNoCrossSolve(Clp_Simplex * model0)
     760{
     761   ClpSimplex *model = model0->model_;
     762
     763   return model->initialBarrierNoCrossSolve();
     764   
    733765}
    734766/* Dual initial solve */
  • branches/devel/Clp/src/Clp_C_Interface.h

    r778 r890  
    5353                      const double* obj,
    5454                      const double* rowlb, const double* rowub);
     55
     56/* read quadratic part of the objective (the matrix part) */
     57COINLIBAPI void COINLINKAGE
     58Clp_loadQuadraticObjective(Clp_Simplex * model, 
     59                           const int numberColumns,
     60                           const CoinBigIndex * start,
     61                           const int * column,
     62                           const double * element);
    5563  /** Read an mps file from the given filename */
    5664  COINLIBAPI int COINLINKAGE Clp_readMps(Clp_Simplex * model,const char *filename,
     
    249257  /** Primal initial solve */
    250258  COINLIBAPI int COINLINKAGE Clp_initialPrimalSolve(Clp_Simplex * model);
     259  /** Barrier initial solve */
     260  COINLIBAPI int COINLINKAGE Clp_initialBarrierSolve(Clp_Simplex * model);
     261  /** Barrier initial solve, no crossover */
     262  COINLIBAPI int COINLINKAGE Clp_initialBarrierNoCrossSolve(Clp_Simplex * model);
    251263  /** Dual algorithm - see ClpSimplexDual.hpp for method */
    252264  COINLIBAPI int COINLINKAGE Clp_dual(Clp_Simplex * model, int ifValuesPass);
Note: See TracChangeset for help on using the changeset viewer.