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

Server breakdown and repair of a station whose server fails and is repaired. More...

#include <line/lang/qn/network_struct.h>

Collaboration diagram for line::qn::BreakdownParam< T >:

Public Member Functions

down_rate_of (std::size_t cls_1based) const

Public Attributes

lang::Distrib< T > failure
 time to failure of an up server
lang::Distrib< T > repair
 time to repair of a down server
failure_rate = num_traits<T>::from_int(0)
 sn.breakdownMu: 1 / mean failure time
repair_rate = num_traits<T>::from_int(0)
 sn.repairMu: 1 / mean repair time
std::vector< T > down_service_rates
 sn.downServiceRates(ist, :): per class, 0 = no service while down.

Detailed Description

template<class T>
struct line::qn::BreakdownParam< T >

Server breakdown and repair of a station whose server fails and is repaired.

MATLAB Queue.setBreakdown(failure, repair, downService), which refreshStruct spreads over sn.hasbreakdown (per NODE), sn.breakdownMu / sn.repairMu / sn.breakdownProc / sn.repairProc (per STATION) and sn.downServiceRates (per station and class). They are one feature and are kept as one record here, keyed by station, for the same reason SetupDelayOffParam is: presence IS the flag.

WHAT A BREAKDOWN IS, and what it is not. The server alternates up and down on independent clocks. A job IN SERVICE when the server goes down is NOT evicted and does not restart: it holds its residual work across the outage, so the outage is a pure interruption. down_service_rates(r) is a DEGRADED server, not a stopped one – a positive rate there means class r keeps being served while the server is down, more slowly. Zero means no service at all, which is the ordinary reading of "broken".

THE DEGRADED SERVICE MUST BE EXPONENTIAL, and the reference refuses anything else by name: a phase-type degraded service would need its own phase block in the joint chain, which no codebase builds. Only the RATE is stored for that reason – there is no distribution left to carry.

Definition at line 461 of file network_struct.h.

Member Function Documentation

◆ down_rate_of()

template<class T>
T line::qn::BreakdownParam< T >::down_rate_of ( std::size_t cls_1based) const
inline

Definition at line 469 of file network_struct.h.

References down_service_rates.

Member Data Documentation

◆ down_service_rates

template<class T>
std::vector<T> line::qn::BreakdownParam< T >::down_service_rates

sn.downServiceRates(ist, :): per class, 0 = no service while down.

Definition at line 467 of file network_struct.h.

Referenced by down_rate_of(), and line::qn::Network< double >::set_breakdown().

◆ failure

template<class T>
lang::Distrib<T> line::qn::BreakdownParam< T >::failure

time to failure of an up server

Definition at line 462 of file network_struct.h.

Referenced by line::qn::Network< double >::set_breakdown().

◆ failure_rate

template<class T>
T line::qn::BreakdownParam< T >::failure_rate = num_traits<T>::from_int(0)

sn.breakdownMu: 1 / mean failure time

Definition at line 464 of file network_struct.h.

Referenced by line::qn::Network< double >::set_breakdown().

◆ repair

template<class T>
lang::Distrib<T> line::qn::BreakdownParam< T >::repair

time to repair of a down server

Definition at line 463 of file network_struct.h.

Referenced by line::qn::Network< double >::set_breakdown().

◆ repair_rate

template<class T>
T line::qn::BreakdownParam< T >::repair_rate = num_traits<T>::from_int(0)

sn.repairMu: 1 / mean repair time

Definition at line 465 of file network_struct.h.

Referenced by line::qn::Network< double >::set_breakdown().


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