public class MultiItems extends DTMDP<examples.jmdp.MultiItemState,examples.jmdp.MultiItemOrder>
Constructor and Description |
---|
MultiItems(States<examples.jmdp.MultiItemState> initSet,
int maxInventory,
int maxItemsPerOrder,
int typesOfItems,
int[] maxBackorders,
double K,
double[] cost,
double[] price,
double h,
double[] holdingCost,
double[] theta,
double[] backOrderCost) |
Modifier and Type | Method and Description |
---|---|
Actions<examples.jmdp.MultiItemOrder> |
feasibleActions(examples.jmdp.MultiItemState i)
Returns the set of actions available at this state.
|
double |
immediateCost(examples.jmdp.MultiItemState i,
examples.jmdp.MultiItemOrder a)
Cost incurred when taking action a from state i
|
static void |
main(java.lang.String[] a) |
double |
prob(examples.jmdp.MultiItemState i,
examples.jmdp.MultiItemState j,
examples.jmdp.MultiItemOrder a)
Probability of going from state i to state j by taking the
action a
|
States<examples.jmdp.MultiItemState> |
reachable(examples.jmdp.MultiItemState i,
examples.jmdp.MultiItemOrder a)
This function initializes all the possible states.
|
getSteadyStateProbabilities, setProbabilitySolver, solve
getAllStates, getNumStates, getSolver
debug, debug, debug, getDebugLevel, getOptimalPolicy, getOptimalValueFunction, getReporter, isFinite, isSolved, operation, printSolution, printSolution, setDebugLevel, setReporter, setSolver, solve
public MultiItems(States<examples.jmdp.MultiItemState> initSet, int maxInventory, int maxItemsPerOrder, int typesOfItems, int[] maxBackorders, double K, double[] cost, double[] price, double h, double[] holdingCost, double[] theta, double[] backOrderCost)
initSet
- maxInventory
- CapacitymaxItemsPerOrder
- maximum mumber of items per ordertypesOfItems
- starting in 0. indicates the maximum index of the types.maxBackorders
- CapacityK
- Fixed cost per Ordercost
- variable costprice
- variable costh
- percentual cost of holding inventoryholdingCost
- holding cost per item per period.theta
- means of the Poisson demands per stagebackOrderCost
- cost incurred when there is nopublic States<examples.jmdp.MultiItemState> reachable(examples.jmdp.MultiItemState i, examples.jmdp.MultiItemOrder a)
public double prob(examples.jmdp.MultiItemState i, examples.jmdp.MultiItemState j, examples.jmdp.MultiItemOrder a)
DTMDP
public double immediateCost(examples.jmdp.MultiItemState i, examples.jmdp.MultiItemOrder a)
DTMDP
immediateCost
in class DTMDP<examples.jmdp.MultiItemState,examples.jmdp.MultiItemOrder>
i
- Current Statea
- Current Actionpublic Actions<examples.jmdp.MultiItemOrder> feasibleActions(examples.jmdp.MultiItemState i)
InfiniteMDP
feasibleActions
in class InfiniteMDP<examples.jmdp.MultiItemState,examples.jmdp.MultiItemOrder>
i
- Current Statepublic static void main(java.lang.String[] a) throws java.lang.Exception
a
- Not usedjava.lang.Exception