LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::lqn::LqnModel< T > Struct Template Reference

The intermediate model, and the second stage that flattens it. More...

#include <line/lang/lqn/lqn_reader.h>

Collaboration diagram for line::lqn::LqnModel< T >:

Public Attributes

std::vector< detail::RawProc > procs
std::vector< detail::RawTask< T > > tasks
std::vector< detail::RawEntry< T > > entries
std::vector< detail::RawActivity< T > > acts
std::map< std::size_t, std::vector< detail::RawLinConRow< T > > > proc_linconrows
 Admission constraints declared on a HOST, by 0-based processor slot.
std::map< std::size_t, std::pair< Matrix< T >, std::vector< T > > > proc_lincon
std::map< std::size_t, std::vector< T > > proc_lldscaling
 Queue-dependent service rates and compatibility pools declared on a HOST, by 0-based processor slot.
std::map< std::size_t, CdScaling< T > > proc_cdscaling
std::map< std::size_t, std::vector< T > > proc_cdscalingpeak
std::map< std::size_t, CdScaling< T > > proc_jdscaling
std::map< std::size_t, std::vector< T > > proc_jdscalingpeak
std::map< std::size_t, std::vector< detail::RawServerPool< T > > > proc_pools

Detailed Description

template<class T>
struct line::lqn::LqnModel< T >

The intermediate model, and the second stage that flattens it.

MATLAB reaches the LayeredNetworkStruct along two routes – parseXML from a .lqnx file, and the Processor/Task/Entry/Activity constructors used directly from a script – and both end in the SAME getStruct. The split here mirrors that: LqnModel is the flat intermediate both routes fill, and lqn_finalize is getStruct. It is not a convenience; the .lqnx interchange is LOSSY for models a script can express (it cannot carry a think time on a non-reference task, because lqns rejects one there), so a port that could only read files could not represent every model the reference can.

Definition at line 399 of file lqn_reader.h.

Member Data Documentation

◆ acts

◆ entries

template<class T>
std::vector<detail::RawEntry<T> > line::lqn::LqnModel< T >::entries

◆ proc_cdscaling

template<class T>
std::map<std::size_t, CdScaling<T> > line::lqn::LqnModel< T >::proc_cdscaling

Definition at line 423 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize().

◆ proc_cdscalingpeak

template<class T>
std::map<std::size_t, std::vector<T> > line::lqn::LqnModel< T >::proc_cdscalingpeak

Definition at line 424 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize().

◆ proc_jdscaling

template<class T>
std::map<std::size_t, CdScaling<T> > line::lqn::LqnModel< T >::proc_jdscaling

Definition at line 425 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize().

◆ proc_jdscalingpeak

template<class T>
std::map<std::size_t, std::vector<T> > line::lqn::LqnModel< T >::proc_jdscalingpeak

Definition at line 426 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize().

◆ proc_lincon

template<class T>
std::map<std::size_t, std::pair<Matrix<T>, std::vector<T> > > line::lqn::LqnModel< T >::proc_lincon

Definition at line 413 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize(), and line::lqn::write_lqnx().

◆ proc_linconrows

template<class T>
std::map<std::size_t, std::vector<detail::RawLinConRow<T> > > line::lqn::LqnModel< T >::proc_linconrows

Admission constraints declared on a HOST, by 0-based processor slot.

Kept beside RawProc rather than inside it because RawProc is not a template and the coefficients are T; tasks carry their own rows. proc_lincon is the positional (A,b) form, proc_linconrows the named one; a host may use either, exactly as a task may.

Definition at line 412 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize(), and line::lqn::write_lqnx().

◆ proc_lldscaling

template<class T>
std::map<std::size_t, std::vector<T> > line::lqn::LqnModel< T >::proc_lldscaling

Queue-dependent service rates and compatibility pools declared on a HOST, by 0-based processor slot.

Kept beside RawProc for the same reason as proc_lincon: RawProc is not a template and the scalings are T. A task carries its own in RawTask. The operands of a host are its TASKS, in declaration order.

Definition at line 422 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize().

◆ proc_pools

template<class T>
std::map<std::size_t, std::vector<detail::RawServerPool<T> > > line::lqn::LqnModel< T >::proc_pools

Definition at line 427 of file lqn_reader.h.

Referenced by line::lqn::lqn_finalize().

◆ procs

◆ tasks


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