public class StochasticDemand extends FiniteMDP<InvLevel,Order>
| Constructor and Description |
|---|
StochasticDemand(States<InvLevel> initSet,
int lastStage,
int maxInventory,
int maxBackorders,
int truckSize,
double K,
double b,
double price,
double cost,
double h,
double theta) |
| Modifier and Type | Method and Description |
|---|---|
Actions<Order> |
feasibleActions(InvLevel i,
int t)
Returns the actions available at this state i and at this stage
t .
|
double |
finalCost(InvLevel i)
This method returns the cost incurred if the last stage ends
with the system at state i.
|
double |
immediateCost(InvLevel i,
Order a,
int t)
This function must return the Immediate cost incurred when
taking action a from state i
|
static void |
main(java.lang.String[] a) |
double |
prob(InvLevel i,
InvLevel j,
Order a,
int t)
This is the probability of going from state i to state j by
taking the action a at stage t.
|
States<InvLevel> |
reachable(InvLevel i,
Order a,
int t)
Set of States that can be reached from this state i, at this
stage t, after taking the acton a.
|
defaultFinalCost, getHorizon, getStatesdebug, debug, debug, getDebugLevel, getOptimalPolicy, getOptimalValueFunction, getReporter, getSolver, isFinite, isSolved, operation, printSolution, printSolution, setDebugLevel, setReporter, setSolver, solvepublic StochasticDemand(States<InvLevel> initSet, int lastStage, int maxInventory, int maxBackorders, int truckSize, double K, double b, double price, double cost, double h, double theta)
initSet - Initial level of inventory of the systemlastStage - the last stage of the problemmaxInventory - maximum physical capacity in inventory, warehouse size.maxBackorders - maximum backorders allowedtruckSize - maximum items in each fixed cost order. Orders can be greater
than this value, but will be charged more than one fixed cost.K - fixed cost per orderb - unit cost per backordered item per stageprice - unit price for all stagescost - unit costo for all stagesh - inventory percentual holding cost as a fraction of costtheta - demand meanpublic double finalCost(InvLevel i)
FiniteMDPpublic double prob(InvLevel i, InvLevel j, Order a, int t)
FiniteMDPpublic double immediateCost(InvLevel i, Order a, int t)
FiniteMDPimmediateCost in class FiniteMDP<InvLevel,Order>i - Current statea - Actiont - Current time stagepublic Actions<Order> feasibleActions(InvLevel i, int t)
FiniteMDPfeasibleActions in class FiniteMDP<InvLevel,Order>i - Current Statet - Time stagepublic States<InvLevel> reachable(InvLevel i, Order a, int t)
FiniteMDPpublic static void main(java.lang.String[] a)
throws java.lang.Exception
a - Not usedjava.lang.Exception