Gecode 6.4.0
Gecode::Optimize::SolveSession Class Reference

#include < -- improving gecode/implementation/gecode/gecode/optimize/session.hpp>

Public Member Functions

 SolveSession ()
 ~SolveSession ()
 SolveSession (SolveSession &&) noexcept
SolveSessionoperator= (SolveSession &&) noexcept
 SolveSession (const SolveSession &)=delete
SolveSessionoperator= (const SolveSession &)=delete
SolveResult solve (const ModelSnapshot &model, const SolveOptions &options={})
SolveResult solve (const Model &model, const SolveOptions &options={})
LpObservedResult solve_lp_observed (const ModelSnapshot &model, const LpObservationOptions &options={})
LpObservedResult solve_lp_observed (const Model &model, const LpObservationOptions &options={})
LpBasisSolveResult solve_lp_with_basis (const ModelSnapshot &model, const LpBasisSolveOptions &options)
LpBasisSolveResult solve_lp_with_basis (const Model &model, const LpBasisSolveOptions &options)
SessionStatistics statistics () const noexcept
void reset ()

Detailed Description

Owns one HiGHS instance. Bounds, costs, row sides, sense and offset edits reuse its model; matrix/type/slot/owner changes reload it. Every snapshot is validated and compared by content, including when its revision is unchanged. LP bases can survive compatible edits. MIP trees/cuts are not retained; previous MIP solutions are reused only after original-model revalidation. Explicit primal starts take precedence. Each call has a fresh solve budget.

Auto selects HiGHS; Native sessions are currently Unsupported. Separate sessions may be used independently. Do not call one session concurrently. Moving transfers all state; solving a moved-from session returns InvalidModel. reset() discards model, basis, witnesses and counters (and revives a moved session). Results remain owning historical snapshots after edits or reset.

Constructor & Destructor Documentation

◆ SolveSession() [1/3]

Gecode::Optimize::SolveSession::SolveSession ( )

◆ ~SolveSession()

Gecode::Optimize::SolveSession::~SolveSession ( )

◆ SolveSession() [2/3]

Gecode::Optimize::SolveSession::SolveSession ( SolveSession && )
noexcept

◆ SolveSession() [3/3]

Gecode::Optimize::SolveSession::SolveSession ( const SolveSession & )
delete

Member Function Documentation

◆ operator=() [1/2]

SolveSession & Gecode::Optimize::SolveSession::operator= ( SolveSession && )
noexcept

◆ operator=() [2/2]

SolveSession & Gecode::Optimize::SolveSession::operator= ( const SolveSession & )
delete

◆ solve() [1/2]

SolveResult Gecode::Optimize::SolveSession::solve ( const ModelSnapshot & model,
const SolveOptions & options = {} )

◆ solve() [2/2]

SolveResult Gecode::Optimize::SolveSession::solve ( const Model & model,
const SolveOptions & options = {} )

◆ solve_lp_observed() [1/2]

LpObservedResult Gecode::Optimize::SolveSession::solve_lp_observed ( const ModelSnapshot & model,
const LpObservationOptions & options = {} )

Owning continuous-LP observations; same session reuse/lifetime contract.

◆ solve_lp_observed() [2/2]

LpObservedResult Gecode::Optimize::SolveSession::solve_lp_observed ( const Model & model,
const LpObservationOptions & options = {} )

◆ solve_lp_with_basis() [1/2]

LpBasisSolveResult Gecode::Optimize::SolveSession::solve_lp_with_basis ( const ModelSnapshot & model,
const LpBasisSolveOptions & options )

◆ solve_lp_with_basis() [2/2]

LpBasisSolveResult Gecode::Optimize::SolveSession::solve_lp_with_basis ( const Model & model,
const LpBasisSolveOptions & options )

◆ statistics()

SessionStatistics Gecode::Optimize::SolveSession::statistics ( ) const
noexcept

◆ reset()

void Gecode::Optimize::SolveSession::reset ( )

The documentation for this class was generated from the following file: