ICC Decision Suite VS10 - DecisionTree pilot

BUILD AND LOAD
1. Close Excel. Extract this package to its own folder.
2. Run BUILD_SUITE.cmd. If Excel blocks project access, temporarily enable
   Trust access to the VBA project object model and rerun the builder.
3. Unload the earlier suite XLAM and load dist\ICC_Decision_Suite_VS10.xlam
   through Excel Options > Add-ins > Excel Add-ins > Browse.
4. Keep dist\suite_assets next to the XLAM. Keep your existing RiskSim XLL.
DecisionTree does not need the XLL. The package supplies source and a Windows
builder, not a precompiled XLAM. Excel/VBA runtime acceptance remains required.

DECISIONTREE WALKTHROUGH
Open examples\ICC_DecisionTree_VS10_Worked_Examples.xlsx. Read Start, then
click Evaluate Tree. The supplied _ICC_Tree table is ready to run.
Expected root value: ZAR 108,000. Best choice: PILOT. After a favourable
signal, proceed. After an unfavourable signal, stop.
Tree Setup creates a small teaching tree in a new workbook (expected ZAR 88,000).
It opens an existing compatible table without overwriting it.

TABLE SCHEMA
A1:G1 = ID, Parent, Type, Label, Probability, Value, Notes
H1 = ICC decision tree VS10. H2 = MAX or MIN.
One node per contiguous row, maximum 200 nodes and depth 40. One root has a
blank Parent. IDs are unique, compared without case. Every other node has one
existing Parent. Rows may be in any order. No disconnected nodes or cycles.
Types: DECISION, CHANCE, TERMINAL. A terminal cannot have children; every other
node must have children. Numeric Value is required, including explicit zero.
Value is incremental cash flow paid/received upon reaching that node. Add costs
as negative values for MAX profit. With MIN cost, enter costs positive.
Probability is required only for children of CHANCE nodes, from 0 to 1.
Each chance node's child probabilities must sum to 1 (tolerance 1e-9; tiny
rounding within tolerance is normalized). Other probabilities must be blank.
No implicit normalization of invalid probability totals. Text numbers, booleans,
missing values and Excel errors are rejected. Labels/Notes do not drive maths.

RESULTS
Evaluate Tree snapshots current numeric table values; it does not force workbook
recalculation. Recalculate a formula-driven table before evaluation. No source
cells are modified. New DT10_..._Results sheets show every node, conditional
probabilities, incremental values, rollback values, best child and policy reach.
Rollback value includes that node and its descendants, excluding ancestor costs.
Green rows/nodes mark the recommended policy. Zero-probability outcomes may be
on policy but have zero reach. Ties choose the first child in source-row order.
All alternatives are evaluated, including decisions in unselected subtrees.
A native editable-shape diagram is added up to 60 nodes and 8 levels below root.
Larger models get the full results table without a diagram. Diagrams can be wide.
Reports and diagrams are snapshots. Edit the table and evaluate again to refresh.
Use common currency/units and valuation date for all values. There is no automatic
discounting, utility/risk-aversion modelling, Bayes updating, or value-of-information
calculation. Supply conditional probabilities explicitly. Expected-value decisions
assume decisions can use the preceding observed chance outcomes.

STATUS
RiskSim, DecisionTree, Sensitivity and StatLab: working pilot source supplied.
EvoOpt, NeuralLab, RiskOpt and AI Assist: planned. Project management is deferred.
No third-party code from reference products is incorporated in this upgrade.

PREVIOUS MODULE INSTRUCTIONS
See PREVIOUS_VS9_README.txt for the retained StatLab and Sensitivity workflows.
