Skip to content

Commit e70a45e

Browse files
authored
Merge pull request #58 from gamma-opt/minorfixes
Minor fixes before release
2 parents e4ff3f8 + da606d9 commit e70a45e

File tree

4 files changed

+31
-15
lines changed

4 files changed

+31
-15
lines changed

README.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
## Description
77
`DecisionProgramming.jl` is a [Julia](https://julialang.org/) package for solving multi-stage decision problems under uncertainty, modeled using influence diagrams. Internally, it relies on mathematical optimization. Decision models can be embedded within other optimization models. We designed the package as [JuMP](https://jump.dev/) extension. We have also developed a [Python](https://python.org) interface, which is available [here](https://github.com/gamma-opt/pyDecisionProgramming).
88

9-
## Citting
10-
The Decision Programming framework is decribed in this publication. If you found the framework useful in your work, we kindly ask you to cite the following publication ([pdf](https://www.sciencedirect.com/science/article/pii/S0377221721010201/pdf)):
9+
## Citing
10+
The Decision Programming framework is described in this publication. If you found the framework useful in your work, we kindly ask you to cite the following publication ([pdf](https://www.sciencedirect.com/science/article/pii/S0377221721010201/pdf)):
1111
```
1212
@article{Salo_et_al-2022,
1313
title = {Decision programming for mixed-integer multi-stage optimization under uncertainty},
@@ -24,6 +24,23 @@ The Decision Programming framework is decribed in this publication. If you found
2424
}
2525
```
2626

27+
If you use the rooted junction tree models, we kindly ask you to cite the following publication ([pdf](https://www.sciencedirect.com/science/article/pii/S0377221721010201/pdf)):
28+
```
29+
@article{Parmentier_et_al-2020,
30+
title = {Integer programming on the junction tree polytope for influence diagrams},
31+
journal = {INFORMS Journal on Optimization},
32+
volume = {2},
33+
number = {3},
34+
pages = {209--228},
35+
year = {2020},
36+
issn = {0377-2217},
37+
doi = {https://doi.org/10.1287/ijoo.2019.0036},
38+
url = {https://pubsonline.informs.org/doi/epdf/10.1287/ijoo.2019.0036},
39+
author = {Parmentier, Axel and Cohen, Victor and Lecl{\`e}re, Vincent and Obozinski, Guillaume and Salmon, Joseph},
40+
keywords = {Influence diagrams, Partially observed Markov decision processes, probabilistic graphical models, Linear programming}
41+
}
42+
```
43+
2744
## Syntax
2845
![](examples/figures/simple-id.svg)
2946

docs/src/decision-programming/RJT-model.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [RJT model](RJT-model.md)
1+
# [RJT model](@id RJT-model)
22
## Introduction
33
Influence diagrams can be represented as directed rooted trees composed of clusters, which can be transformed into gradual rooted junction trees (RJTs) by imposing additional constraints. These can then be used to formulate an optimization model. Solving for optimal decision strategies using these formulations is computationally more efficient than for path based formulations. Using RJT based formulations is thus generally preferable.
44

@@ -101,8 +101,6 @@ Currently, the RJT formulation commands in the package do not support forbidden
101101

102102
[^1]: Herrala, O., Terho, T., Oliveira, F., 2024. Risk-averse decision strategies for influence diagrams using rooted junction trees. Retrieved from [https://arxiv.org/abs/2401.03734]
103103

104-
[^2]: Parmentier, A., Cohen, V., Leclere, V., Obozinski, G., Salmon, J., 2020. `
105-
Integer programming on the junction tree polytope for influence diagrams. INFORMS Journal on Optimization 2, 209–228.
104+
[^2]: Parmentier, A., Cohen, V., Leclere, V., Obozinski, G., Salmon, J., 2020. Integer programming on the junction tree polytope for influence diagrams. INFORMS Journal on Optimization 2, 209–228.
106105

107-
[^3]: Koller, D., Friedman, N., 2009. Probabilistic graphical models: principles
108-
and techniques. MIT press
106+
[^3]: Koller, D., Friedman, N., 2009. Probabilistic graphical models: principles and techniques. MIT press

docs/src/decision-programming/cvar.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ $$\operatorname{CVaR}_α(Z)=\frac{1}{α}∑_{𝐬∈𝐒}\bar{ρ}(𝐬) \mathcal
7272

7373
## RJT model
7474

75-
:warning: **WARNING**: A diagram can have only a single value node, when using RJT-based CVaR. Trying to call the RJT-based CVaR function using a diagram with more than one value node results in an error.
75+
!!! warning
76+
A diagram can have only a single value node when using RJT-based CVaR. Trying to call the RJT-based CVaR function using a diagram with more than one value node results in an error.
7677

7778
CVaR formulation for the RJT model is close to that of path-based model. We denote the possible utility values with $u ∈ U$ and suppose we can define the probability $p(u)$ of attaining a given utility value. In the presence of a single value node, we define $p(u) = ∑_{s_{C_v}∈ \text{\{} S_{C_v} \vert U(s_{C_v})=u \text{\}} }µ(s_{C_v})$. We can then pose the constraints
7879

@@ -98,9 +99,9 @@ $$\bar{ρ}(u),ρ(u)∈[0, 1],\quad ∀u∈U \tag{35}$$
9899

99100
$$η∈\mathbb{R} \tag{36}$$
100101

101-
where where α is the probability level in CVaR_α.
102+
where $α$ is the probability level in $CVaR_α$.
102103

103-
CVaR_α can be obtained as $1/α ∑_{u∈U} \bar{ρ}(u)u$.
104+
Finally, $CVaR_α$ can be obtained as $1/α ∑_{u∈U} \bar{ρ}(u)u$.
104105

105106
More details, including explanations of variables and constraints, can be found from Herrala et al. (2024)[^1].
106107

@@ -113,4 +114,4 @@ where the parameter $w∈[0, 1]$ expresses the decision maker's **risk tolerance
113114

114115

115116
## References
116-
[^1]: Herrala, O., Terho, T., Oliveira, F., 2024. Risk-averse decision strategies for influence diagrams using rooted junction trees. Retrieved from [https://arxiv.org/abs/2401.03734]
117+
[^1]: Herrala, O., Terho, T., Oliveira, F., 2024. Risk-averse decision strategies for influence diagrams using rooted junction trees. Retrieved from [https://arxiv.org/abs/2401.03734]

docs/src/decision-programming/path-based-model.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [Path-based model](path-based-model.md)
1+
# [Path-based model](@id path-based-model)
22
## Introduction
33

44
This section introduces path variables and how to structure an optimization problem based on them. Generally solution times are slower for path based formulations than for RJT based formulations and thus using [RJT formulations](RJT-model.md) is recommended.
@@ -126,7 +126,7 @@ The **default path utility** is the sum of node utilities $U_j$
126126

127127
$$\mathcal{U}(𝐬) = ∑_{j∈V} U_j(Y_j(𝐬_{I(j)})).$$
128128

129-
The utility function affects the objectives as discussed on the [Decision Model](#Decision Model) page. We can choose the utility function such that the path utility function either returns:
129+
The utility function affects the objectives as discussed on the [Decision Model](#Decision-Model) page. We can choose the utility function such that the path utility function either returns:
130130

131131
* a numerical value, which leads to a mixed-integer linear programming (MILP) formulation or
132132
* a linear function with real and integer-valued variables, which leads to a mixed-integer quadratic programming (MIQP) formulation.
@@ -152,7 +152,7 @@ Formally, the path $𝐬$ is **ineffective** if and only if $𝐬_A∈𝐒_A^′
152152

153153
$$𝐒^∗=\{𝐬∈𝐒∣𝐬_{A}∉𝐒_{A}^′\}⊆𝐒.$$
154154

155-
The [Decision Model](#Decision Model) size depends on the number of effective paths, rather than the number of paths or size of the influence diagram directly.
155+
The [Decision Model](#Decision-Model) size depends on the number of effective paths, rather than the number of paths or size of the influence diagram directly.
156156

157157
In Decision Programming, one can declare certain subpaths to be ineffective using the *fixed path* and *forbidden paths* sets.
158158

@@ -196,7 +196,7 @@ If there are no other ineffective subpaths, we have
196196

197197
$$𝐒^∗ = 𝐒(X).$$
198198

199-
Notice that, the number of active paths affects the size of the [Decision Model](#Decision Model) because it depends on the number of effective paths.
199+
Notice that, the number of active paths affects the size of the [Decision Model](#Decision-Model) because it depends on the number of effective paths.
200200

201201

202202
## Compatible Paths

0 commit comments

Comments
 (0)