![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Server breakdown and repair of a station whose server fails and is repaired. More...
#include <line/lang/qn/network_struct.h>
Public Member Functions | |
| T | 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 | |
| T | failure_rate = num_traits<T>::from_int(0) |
| sn.breakdownMu: 1 / mean failure time | |
| T | 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. | |
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.
|
inline |
Definition at line 469 of file network_struct.h.
References down_service_rates.
| 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().
| 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().
| 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().
| 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().
| 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().