#
Conflicting Bundle Allocation with Preferences in Weighted Directed Acyclic Graphs: Application to Orbit Slot Allocation Problems^{ †}

^{1}

^{2}

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

- We define a generic modeling framework for the path allocation problem with conflict (directed path allocation problem, or DPAP) and consider two optimization criteria (global utility and leximin).
- We instantiate this framework with two compact representations of conflicts, one based on a vertex conflict (vertex-constrained directed path allocation problem, or V-DPAP) and one based on a resource consumption conflict (resource-constrained directed path allocation problem, or R-DPAP)—note that V-DPAP comes from the path allocation in the directed acyclic graph (PADAG) problem defined in [4].
- We show that the decision problems associated with V-DPAP and R-DPAP are NP-complete, whatever the optimization criteria.
- We define several complete and incomplete allocation schemes for solving V-DPAP and R-DPAP.
- We evaluate all of the algorithmic approaches on dozens of orbit slot allocation benchmarks and discuss the obtained results.

## 2. Related Works

## 3. Directed Path Allocation Problems

**Definition 1.**

- ${V}_{g}$ is a set of nodes; in our case, each node corresponds to an item that can be allocated to an agent, except for two specific nodes referred to as the source ${s}_{g}$ and the sink ${t}_{g}$;
- ${E}_{g}\subset {V}_{g}\times {V}_{g}$ is the set of arcs of the acyclic graph, with the assumption that ${s}_{g}$ and ${t}_{g}$ are, respectively, the unique source and sink of the graph; an arc ${v}_{1}\to {v}_{2}$ indicates that items ${v}_{1}$ and ${v}_{2}$ can be selected sequentially;
- ${u}_{g}:{E}_{g}\to {\mathbb{R}}^{+}$ is a utility function that associates a weight to each arc of the graph to represent a preference over the combinations of item selections; we assume that ${E}_{g}$ contains an arc from ${s}_{g}$ to ${t}_{g}$ labeled by utility 0, to deal with cases where no bundle of items can be selected in g.

**Definition 2.**

- $\mathcal{A}=\{1,\dots ,n\}$ is a set of agents;
- $\mathcal{G}=\{{g}_{1},\dots ,{g}_{m}\}$ is a set of single-source single-sink edge-weighted DAGs, as introduced in Definition 1;
- $\mu :\mathcal{G}\to \mathcal{A}$ maps each graph g in $\mathcal{G}$ to its owner a in $\mathcal{A}$; we also denote by ${\mathcal{G}}_{a}={\mu}^{-1}\left(a\right)$ the set of graphs owned by agent a;
- $\varphi :{\mathsf{\Pi}}_{{g}_{1}}\times \dots \times {\mathsf{\Pi}}_{{g}_{m}}\to \{0,1\}$ is a path compatibility function that indicates whether a combination of paths $({p}_{1},\dots ,{p}_{m})$ (one path per graph) is feasible (value 1) or not (value 0).

**Example 1.**

**Definition 3.**

**Definition 4.**

**Definition 5.**

**Example 2.**

## 4. V-DPAP: Vertex-Constrained Directed Path Allocation Problems

#### 4.1. Framework Definition

**Definition 6.**

**Example 3.**

#### 4.2. Theoretical Complexity

**Proposition 1.**

**Proof.**

- the set of nodes is ${V}_{g}=\{x,\neg x,y,\neg y,z,\neg z,{s}_{g},{t}_{g}\}$,
- the set of paths from ${s}_{g}$ to ${t}_{g}$ in g corresponds to the set of truth values for $x,y,z$ that satisfy the clause (decision diagram representation),
- the weight of every edge is set to 0, except for edges ${s}_{g}\to n$ where $n\ne {t}_{g}$, that have weight 1.

**Proposition 2.**

**Proof.**

## 5. R-DPAP: Resource-Constrained Directed Path Allocation Problems

#### 5.1. Framework Definition

**Definition 7.**

- a set of disjunctive resources $\mathcal{R}=\{{r}_{1},\dots ,{r}_{p}\}$;
- for each graph $g\in \mathcal{G}$, a triple $({\mathit{ws}}_{g},{\mathit{we}}_{g},{c}_{g})$ such that:
- –
- ${\mathit{ws}}_{g}:{V}_{g}\to \mathbb{N}$ and ${\mathit{we}}_{g}:{V}_{g}\to \mathbb{N}$ associate a start date and an end date, respectively, that together define a time window for each item;
- –
- ${c}_{g}:{V}_{g}\to \mathcal{R}\cup \left\{{\mathit{r}}_{\varnothing}\right\}$ returns the resource required for each item. For any vertex $v\in {V}_{g}$, ${c}_{g}\left(v\right)={\mathit{r}}_{\varnothing}$ indicates that v does not require any resource in $\mathcal{R}$. In particular, the source and sink nodes do not consume any resource. Moreover, we assume that for two items v and ${v}^{\prime}$ belonging to the same graph and requiring the same resource in $\mathcal{R}$, the time windows of v and ${v}^{\prime}$ do not overlap;
- –
- ${d}_{g}:{V}_{g}\to \mathbb{N}$ associates a duration with each item; resource ${c}_{g}\left(v\right)$ must be used during ${d}_{g}\left(v\right)$ time units within time window $[{\mathit{ws}}_{g}\left(v\right),{\mathit{we}}_{g}\left(v\right)]$ without any interruption (non-preemptive consumption).

**Definition 8.**

- for all graphs $g\in \mathcal{G}$, for all nodes $v\in \pi \left(g\right)$, ${\tau}_{\pi ,g}\left(v\right)\ge {\mathit{ws}}_{g}\left(v\right)$ and ${\tau}_{\pi ,g}\left(v\right)+{d}_{g}\left(v\right)\le {\mathit{we}}_{g}\left(v\right)$;
- there is no conflict for nodes in $\pi \left(g\right)$ with respect to resource consumption. Formally, for each pair of distinct graphs g and ${g}^{\prime}$, for each node $v\in \pi \left(g\right)$ and each node ${v}^{\prime}\in \pi \left({g}^{\prime}\right)$ such that ${c}_{g}\left(v\right)={c}_{{g}^{\prime}}\left({v}^{\prime}\right)$ and ${c}_{g}\left(v\right)\ne {\mathit{r}}_{\varnothing}$ (i.e., v and ${v}^{\prime}$ consume the same resource in $\mathcal{R}$), either ${\tau}_{\pi ,g}\left(v\right)+{d}_{g}\left(v\right)\le {\tau}_{\pi ,{g}^{\prime}}\left({v}^{\prime}\right)$ or ${\tau}_{\pi ,{g}^{\prime}}\left({v}^{\prime}\right)+{d}_{{g}^{\prime}}\left({v}^{\prime}\right)\le {\tau}_{\pi ,g}\left(v\right)$ holds.

**Example 4.**

**Example 5.**

#### 5.2. Theoretical Complexity

**Proposition 3.**

**Proof.**

- $A=\{{a}_{1},\dots ,{a}_{n}\}$ is a set of activities;
- $P:A\to \mathbb{N}$ is a function that assigns a processing time to each activity of A;
- $R:A\to \mathbb{N}$ is a function that assigns a release date to each activity of A;
- $D:A\to \mathbb{N}$ is a function that assigns a due date to each activity of A.

- the release dates are satisfied, i.e., $\forall a\in A$, $\sigma \left(a\right)\ge R\left(a\right)$;
- the machine performs at most one activity at each time step, i.e., $\forall {a}_{i},{a}_{j}\in {A}^{2}$ with $i\ne j$, either $\sigma \left({a}_{i}\right)+R\left({a}_{i}\right)\le \sigma \left({a}_{j}\right)$ or $\sigma \left({a}_{j}\right)+R\left({a}_{j}\right)\le \sigma \left({a}_{i}\right)$ holds;
- the maximum lateness ${L}_{\mathit{max}}$ is minimized, where ${L}_{\mathit{max}}={\mathrm{max}}_{i=1}^{n}(\sigma \left({a}_{i}\right)+P\left({a}_{i}\right)-D\left({a}_{i}\right))$.

- we consider a unique resource r;
- we consider an agent ${\mathit{agent}}_{a}$ for each activity a in A;
- for each activity a in A, we consider the graph ${g}_{a}$ (illustrated in Figure 7a) that belongs to agent ${\mathit{agent}}_{a}$ and that has the following features:
- –
- its set of vertices is composed of three nodes: ${s}_{a}$, ${t}_{a}$, and ${v}_{a}$;
- –
- its set of edges is composed of $({s}_{a},{v}_{a})$ with a utility equal to 1, and $({s}_{a},{t}_{a})$, $({v}_{a},{t}_{a})$ that both have a null utility;
- –
- as illustrated in Figure 7b, node ${v}_{a}$ requires resource r during $D\left(a\right)$ time units within time window $\left[R\right(a),D(a)+l]$;

- the obtained R-DPAP is $\langle \left\{{\mathit{agent}}_{a}\phantom{\rule{0.166667em}{0ex}}\right|\phantom{\rule{0.166667em}{0ex}}a\in A\},\left\{r\right\},\left\{{\mathit{g}}_{a}\phantom{\rule{0.166667em}{0ex}}\right|\phantom{\rule{0.166667em}{0ex}}a\in A\},\mu \rangle $, with $\mu $ a function that assigns, for each activity a in A, agent ${\mathit{agent}}_{a}$ to graph ${g}_{a}$.

**Proposition 4.**

**Proof.**

#### 5.3. Relationship between R-DPAP and V-DPAP

- We consider the non-empty subsets S of $\mathsf{\Gamma}$ one by one, following an increasing cardinality order. For a given set S, if there exists a subset ${S}^{\prime}\subset S$ of size $\left|S\right|-1$ such that ${S}^{\prime}$ is a conflict, S is marked as being a conflict but is not added to the set of minimal conflicts. Otherwise, we test whether there exists a schedule containing all the tasks in S. If not, S is marked as a conflict and added to the set of minimal conflicts.
- To determine whether there exists a schedule containing all the items in a set S, we use a dynamic programming algorithm. More precisely, we consider the subsets ${S}^{\prime}$ of S following an increasing cardinality order and we determine, for each subset ${S}^{\prime}\subseteq S$, the minimum time $\mathit{mt}\left({S}^{\prime}\right)$ at which all items in ${S}^{\prime}$ can be served in a feasible schedule. To do this, we start from $\mathit{mt}(\varnothing )=-\infty $ and apply recursive formulas. If item $i\in {S}^{\prime}$ belongs to graph g and is the last item visited, the minimum time at which the visit of i can end is given by $\mathit{mt}({S}^{\prime},i)=\mathrm{max}(\mathit{mt}({S}^{\prime}\setminus \left\{i\right\}),{\mathit{ws}}_{g}\left(i\right))+{d}_{g}\left(i\right)$, and visiting i at the latest position among the items in ${S}^{\prime}$ is feasible if and only if $\mathit{mt}({S}^{\prime},i)\le {\mathit{we}}_{g}\left(i\right)$. From this, the minimum time $\mathit{mt}\left({S}^{\prime}\right)$ at which all items in ${S}^{\prime}$ can be served in a feasible schedule is given by $\mathit{mt}\left({S}^{\prime}\right)={\mathrm{min}}_{i\in {S}^{\prime}\phantom{\rule{0.166667em}{0ex}}|\phantom{\rule{0.166667em}{0ex}}\mathit{mt}({S}^{\prime},i)\le {\mathit{we}}_{g}\left(i\right)}\mathit{mt}({S}^{\prime},i)$. It can be shown that at the end of the process, all the items in S can be scheduled if and only if $\mathit{mt}\left(S\right)<+\infty $. The dynamic programming algorithm described before has a time complexity that is exponential in the size of S; however, the number of requests is low for the practical application we are targeting.

**Example 6.**

## 6. V-DPAP Solution Methods

#### 6.1. Utilitarian Allocation ($\mathsf{util}$)

**Example 7.**

#### 6.2. Leximin Allocation ($\mathsf{lex}$)

Algorithm 1: Leximin algorithm. |

**Example 8.**

#### 6.3. Approximate Leximin Allocation ($\text{a-lex}$)

**Example 9.**

Algorithm 2: Approximate leximin algorithm. |

#### 6.4. Greedy Allocation ($\mathsf{greedy}$)

**Example 10.**

#### 6.5. Round-Robin Allocations ($\text{p-rr}$ and $\text{n-rr}$)

**Example 11.**

## 7. Experimental Evaluation

#### 7.1. Benchmarks

#### 7.1.1. Constellation and Requests Features

#### 7.1.2. From Requests to DAGs

- In the full satisfaction variant, each path goes through one orbit slot for each RT, except for a specific direct source-to-sink path that allows us to guarantee that there exists at least one feasible path for each request. In other words, it is not possible to skip one RT for an observation request, unless this request is not served at all.
- In the partial satisfaction variant, it is possible to skip some RTs for a request. In terms of generated graphs, it simply consists in adding edges with a null utility between successive virtual nodes, between the source and the first virtual node and between the last virtual node and the sink.

#### 7.1.3. V-DPAP and R-DPAP Generation

- V-DPAP.
- For generating the set of conflicts $\mathcal{C}$ associated with a V-DPAP, we define a conflict for each pair of nodes corresponding to orbit slots that: 1. belong to the same satellite; 2. temporally overlap; and 3. are from different users. For the last assumption, we consider that it is possible to allocate to some user two orbit slots from the same satellite that overlap. In fact, as the allocation of an orbit slot consists in allowing an agent to dispose of the satellite during the associated time interval, two overlapping orbit slots ${o}_{1}$ and ${o}_{2}$ can be seen as a unique orbit slot that is the union of ${o}_{1}$ and ${o}_{2}$. With this conflict generation scheme, all the conflicts obtained are binary. Note that it would be possible to compute these conflicts more finely, for instance, by following the approach proposed in [26].
- R-DPAP.
- In the case of the $\varphi $ function in R-DPAP, we follow the same process as in Example 4. More precisely, we create a resource ${\rho}_{s}$ for each satellite s of the constellation. Then, for each graph ${g}_{r}$ associated with an observation request r, for each vertex v in ${V}_{{g}_{r}}$ that corresponds to an orbit slot o (i.e., all vertices except source, sink, and the ones added between successive RTs), we define ${\mathit{ws}}_{{g}_{r}}\left(v\right)={\mathit{start}}_{o}$, ${\mathit{we}}_{{g}_{r}}\left(v\right)={\mathit{end}}_{o}$ (i.e., the temporal window associated with vertex v is exactly the temporal window associated with orbit slot o), ${d}_{{g}_{r}}\left(v\right)=\mathit{minD}$ (i.e., the duration associated with v is the minimum duration required) and ${c}_{{g}_{r}}\left(v\right)={\rho}_{s}$ where s is the satellite associated with orbit slot o. For each vertex v that is a virtual node, we consider that ${\mathit{ws}}_{{g}_{r}}\left(v\right)={\mathit{we}}_{{g}_{r}}\left(v\right)=0$, ${d}_{{g}_{r}}\left(v\right)=0$, and ${c}_{{g}_{r}}\left(v\right)={\mathit{r}}_{\varnothing}$. Note that R-DPAPs are next transformed into V-DPAPs as explained in Section 5.3, and in this case the conflicts obtained are not necessarily binary ones.

#### 7.1.4. Instance Generation Parameters and Properties

#### 7.1.5. Experimental Conditions

#### 7.2. Results for the Full Request Satisfaction Mode

#### 7.2.1. V-DPAP Results Analysis for ${n}_{p}=2$

#### 7.2.2. Sensitivity to Constellation Size

#### 7.2.3. R-DPAP Results

#### 7.3. Results for the Partial Request Satisfaction Mode

#### 7.3.1. V-DPAP Results

#### 7.3.2. R-DPAP Results

## 8. Conclusions

## Author Contributions

## Funding

## Data Availability Statement

## Conflicts of Interest

## Abbreviations

DAG | Directed acyclic graph |

DPAP | Directed path allocation problem |

V-DPAP | Vertex-constrained DPAP |

R-DPAP | Resource-constrained DPAP |

PADAG | Path allocation in directed acyclic graph |

ILP | Integer linear programming |

MILP | Mixed integer linear programming |

POI | Point of interest |

RT | Request time |

$\mathsf{lex}$ | Leximin solver |

$\mathsf{a}-\mathsf{lex}$ | Approximate leximin solver |

$\mathsf{greedy}$ | Greedy solver |

$\mathsf{util}$ | Utilitarian MILP solver |

$\mathsf{p}-\mathsf{rr}$ | Path round-robin solver |

$\mathsf{n}-\mathsf{rr}$ | Node round-robin solver |

## Notes

1 | A Nash equilibrium is an allocation in which the modification of a path for a single agent does not improve its associated utility. |

2 | We have removed the worst 5% of values and the best 5% of values for the indicated range. |

## References

- Yang, S.; Li, F.; Trajanovski, S.; Yahyapour, R.; Fu, X. Recent Advances of Resource Allocation in Network Function Virtualization. IEEE Trans. Parallel Distrib. Syst.
**2021**, 32, 295–314. [Google Scholar] [CrossRef] - Lemaître, M.; Verfaillie, G.; Fargier, H.; Lang, J.; Bataille, N.; Lachiver, J.M. Equitable Allocation of Earth Observing Satellites Resources. In Proceedings of the 5th ONERA-DLR Aerospace Symposium (ODAS’03), Toulouse, France, 4–6 June 2003. [Google Scholar]
- Picard, G. Auction-based and Distributed Optimization Approaches for Scheduling Observations in Satellite Constellations with Exclusive Orbit Portions. In Proceedings of the International Conference on Autonomous Agents and Multiagent Systems (AAMAS-22), Virtual Event, New Zealand, 9–13 May 2022. [Google Scholar]
- Maqrot, S.; Roussel, S.; Picard, G.; Pralet, C. Bundle Allocation with Conflicting Preferences Represented as Weighted Directed Acyclic Graphs—Application to Orbit Slot Ownership. In Advances in Practical Applications of Agents, Multi-Agent Systems, and Complex Systems Simulation. The PAAMS Collection, Proceedings of the 20th International Conference, PAAMS 2022, L’Aquila, Italy, 13–15 July 2022; Dignum, F., Mathieu, P., Corchado, J.M., De la Prieta, F., Eds.; Springer: Berlin/Heidelberg, Germany, 2022; Volume 13616, pp. 280–293. [Google Scholar] [CrossRef]
- Bouveret, S.; Cechlárová, K.; Elkind, E.; Igarashi, A.; Peters, D. Fair Division of a Graph. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI 2017, Melbourne, Australia, 19–25 August 2017; pp. 135–141. [Google Scholar] [CrossRef][Green Version]
- Igarashi, A.; Peters, D. Pareto-Optimal Allocation of Indivisible Goods with Connectivity Constraints. In Proceedings of the Thirty-Third AAAI Conference on Artificial Intelligence, AAAI 2019, Honolulu, HI, USA, 27 January–1 February 2019; pp. 2045–2052. [Google Scholar] [CrossRef][Green Version]
- Immorlica, N.; Karger, D.R.; Nikolova, E.; Sami, R. First-Price Path Auctions. In Proceedings of the Proceedings 6th ACM Conference on Electronic Commerce (EC-2005), Vancouver, BC, Canada, 5–8 June 2005; pp. 203–212. [Google Scholar] [CrossRef]
- Du, Y.; Sami, R.; Shi, Y. Path Auctions with Multiple Edge Ownership. Theor. Comput. Sci.
**2010**, 411, 293–300. [Google Scholar] [CrossRef][Green Version] - Zhang, L.; Chen, H.; Wu, J.; Wang, C.; Xie, J. False-Name-Proof Mechanisms for Path Auctions in Social Networks. In Proceedings of the Twenty-Second European Conference on Artificial Intelligence, The Hague, The Netherlands, 29 August–2 September 2016; Volume 285, pp. 1485–1492. [Google Scholar] [CrossRef]
- Megiddo, N. Optimal Flows in Networks with Multiple Sources and Sinks. Math. Program.
**1974**, 7, 97–107. [Google Scholar] [CrossRef] - Hughes, M.S.; Lunday, B.J.; Weir, J.D.; Hopkinson, K.M. The Multiple Shortest Path Problem with Path Deconfliction. Eur. J. Oper. Res.
**2021**, 292, 818–829. [Google Scholar] [CrossRef] - Nisan, N.; Roughgarden, T.; Tardos, E.; Vazirani, V.V. Algorithmic Game Theory; Cambridge University Press: Cambridge, NY, USA, 2007. [Google Scholar]
- Panagopoulou, P.N.; Spirakis, P.G. Algorithms for Pure Nash Equilibria in Weighted Congestion Games. ACM J. Exp. Algorithmics
**2007**, 11, 2.7-es. [Google Scholar] [CrossRef] - Caragiannis, I.; Kurokawa, D.; Moulin, H.; Procaccia, A.D.; Shah, N.; Wang, J. The Unreasonable Fairness of Maximum Nash Welfare. ACM Trans. Econ. Comput.
**2019**, 7, 1–32. [Google Scholar] [CrossRef][Green Version] - Riera, J.F.; Escalona, E.; Batallé, J.; Grasa, E.; García-Espín, J.A. Virtual Network Function Scheduling: Concept and Challenges. In Proceedings of the 2014 International Conference on Smart Communications in Network Technologies (SaCoNeT), Vilanova i la Geltru, Spain, 18–20 June 2014; pp. 1–5. [Google Scholar] [CrossRef]
- Maqrot, S.; Roussel, S.; Picard, G.; Pralet, C. Orbit Slot Allocation in Earth Observation Constellations. In PAIS 2022, Proceedings of the 11th Conference on Prestigious Applications of Artificial Intelligence, Vienna, Austria, 25 July 2022; Passerini, A., Schiex, T., Eds.; co-located with IJCAI-ECAI 2022; Frontiers in Artificial Intelligence and Applications; IOS Press: Amsterdam, The Netherlands, 2022; Volume 351, pp. 3–16. [Google Scholar] [CrossRef]
- Wang, X.; Wu, G.; Xing, L.; Pedrycz, W. Agile Earth Observation Satellite Scheduling over 20 years: Formulations, Methods and Future Directions. IEEE Syst. J.
**2021**, 15, 3881–3892. [Google Scholar] [CrossRef] - Tangpattanakul, P.; Jozefowiez, N.; Lopez, P. A Multi-Objective Local Search Heuristic for Scheduling Earth Observations Taken by an Agile Satellite. Eur. J. Oper. Res.
**2015**, 245, 542–554. [Google Scholar] [CrossRef][Green Version] - Bianchessi, N.; Cordeau, J.F.; Desrosiers, J.; Laporte, G.; Raymond, V. A Heuristic for the Multi-Satellite, Multi-Orbit and Multi-User Management of Earth Observation Satellites. Eur. J. Oper. Res.
**2007**, 177, 750–762. [Google Scholar] [CrossRef] - Eddy, D.; Kochenderfer, M.J. A Maximum Independent Set Method for Scheduling Earth-Observing Satellite Constellations. J. Spacecr. Rocket.
**2021**, 58, 1416–1429. [Google Scholar] [CrossRef] - Lenstra, J.; Rinnooy Kan, A.; Brucker, P. Complexity of Machine Scheduling Problems. In Studies in Integer Programming; Hammer, P., Johnson, E., Korte, B., Nemhauser, G., Eds.; Elsevier: Amsterdam, The Netherlands, 1977; Volume 1, pp. 343–362. [Google Scholar] [CrossRef][Green Version]
- Moulin, H. Fair Division and Collective Welfare; MIT Press: Cambridge, MA, USA, 2003. [Google Scholar]
- Kurokawa, D.; Procaccia, A.D.; Shah, N. Leximin Allocations in the Real World. ACM Trans. Econ. Comput.
**2018**, 6, 1–24. [Google Scholar] [CrossRef] - Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 2nd ed.; MIT Press: Cambridge, MA, USA, 2001. [Google Scholar]
- OpenStreetMap Points of Interest (on French Territory). 2021. Available online: https://www.data.gouv.fr/fr/datasets/points-dinterets-openstreetmap/ (accessed on 30 August 2021).
- Wang, J.; Song, G.; Liang, Z.; Demeulemeester, E.; Hu, X.; Liu, J. Unrelated Parallel Machine Scheduling with Multiple Time Windows: An Application to Earth Observation Satellite Scheduling. Comput. Oper. Res.
**2023**, 149, 106010. [Google Scholar] [CrossRef]

**Figure 2.**Examples of valid allocations for the DPAP described in Figure 1. (

**a**) Illustration of allocation ${\pi}_{\mathsf{ex}}$ with the paths selected in graphs ${g}_{a}$ and ${g}_{\mathsf{b}}$. (

**b**) Allocation ${\pi}_{\mathsf{util}}$ that maximizes the global utility: $u\left({\pi}_{\mathsf{util}}\right)=1.6$. (

**c**) Allocation ${\pi}_{\mathsf{lex}}$ that maximizes the leximin vector: $\mathsf{lex}\left({\pi}_{\mathsf{lex}}\right)=(0.7,0.7)$.

**Figure 3.**V-DPAP equivalent to the DPAP example of Figure 1; the set of vertex conflicts, represented as red hypernodes, gives a compact representation of the set of allowed combinations of paths.

**Figure 4.**V-DPAP associated with the 3-SAT instance $(x\vee y\vee z)\wedge (\neg x\vee y\vee \neg w)$. Nodes in conflict are linked through a dashed edge.

**Figure 5.**Orbit slot allocation problem involving two satellites ${\mathit{sat}}_{1}$ and ${\mathit{sat}}_{2}$ and two agents $\mathsf{A}$ and $\mathsf{B}$ that each have one request, denoted $\mathsf{a}$ and $\mathsf{b}$, respectively. Two observation slots with a duration equal to 2 must be allocated for each request (represented by [2] in each observation slot). The first orbit slot of each request should be around time 3 and the second one around time 9. (

**a**) Graphs ${g}_{\mathsf{a}}$ and ${g}_{\mathsf{b}}$ representing the requests and resources of Example 4. (

**b**) Description of the resources, time windows, and durations associated with the vertices of graphs ${g}_{\mathsf{a}}$ and ${g}_{\mathsf{b}}$.

**Figure 6.**Valid allocation example, ${\pi}_{\mathsf{ex}}$, for the R-DPAP described in Example 4. (

**a**) Illustration of allocation ${\pi}_{\mathsf{ex}}$ with the paths selected for graphs ${g}_{\mathsf{a}}$ and ${g}_{\mathsf{b}}$. (

**b**) Start dates that allow the selection of the nodes of ${\pi}_{\mathsf{ex}}$ without any conflict in resources.

**Figure 7.**R-DPAP part generated for each activity a in A. (

**a**) Graph generated for each activity a in A. (

**b**) Description of nodes in the graph generated for each activity a in A.

**Figure 8.**Orbit slot allocation problem involving two satellites ${\mathit{sat}}_{1}$ and ${\mathit{sat}}_{2}$ and four requests $\mathsf{a}$, $\mathsf{b}$, $\mathsf{c}$, $\mathsf{d}$ posted by four agents $\mathsf{A}$, $\mathsf{B}$, $\mathsf{C}$, $\mathsf{D}$; the duration associated with each item is also indicated (e.g., a duration of 2 time units for item ${\mathsf{a}}_{1}$ and a duration of 3 time units for item ${\mathsf{c}}_{1}$).

**Figure 9.**Utility function used to compute the utility of an orbit slot with respect to some RT and a tolerance $\Delta $.

**Figure 10.**Graph for request $\mathsf{a}$ of Figure 8 with virtual nodes between successive RTs. The graph with only black edges represents the problem in full satisfaction mode. The graph with both black and thick blue edges represents the problem in partial request satisfaction mode.

**Figure 11.**Performance metrics obtained by each algorithm for each constellation size, for full request satisfaction mode and encoded as V-DPAP. (

**a**) Normalized utility; (

**b**) global reward; (

**c**) computation time.

**Figure 12.**Average utility profiles (in leximin order) for each constellation size and each algorithm (south: best utility over all agents; west: second best utility; north: third best utility; east: worst utility), for full request satisfaction mode and encoded as V-DPAP.

**Figure 13.**Performance metrics obtained by each algorithm for each constellation size, for full request satisfaction mode and encoded as R-DPAP. (

**a**) Normalized utility; (

**b**) global reward; (

**c**) computation time.

**Figure 14.**Utility profiles (in leximin order) for the first 5 instances for a constellation with 2 orbital planes (4 satellites) and each algorithm (south: best utility over all agents; west: second best utility; north: third best utility; east: worst utility), for full request satisfaction mode and encoded as R-DPAP.

**Figure 15.**Average utility profiles (in leximin order) for each constellation size and each algorithm (south: best utility over all agents; west: second best utility; north: third best utility; east: worst utility), for full request satisfaction mode and encoded as R-DPAP.

**Figure 16.**Performance metrics obtained by each algorithm for each constellation size, for flexible requests encoded as V-DPAP. (

**a**) Normalized utility; (

**b**) global reward; (

**c**) computation time.

**Figure 17.**Utility profiles (in leximin order) for the first 5 instances for a constellation with 2 orbital plans (4 satellites) and each algorithm (south: best utility over all agents; west: second best utility; north: third best utility; east: worst utility), for flexible requests encoded as V-DPAP.

**Figure 18.**Average utility profiles (in leximin order) for each constellation size and each algorithm (south: best utility over all agents; west: second best utility; north: third best utility; east: worst utility), for partial request satisfaction mode and encoded as V-DPAP.

**Figure 19.**Performance metrics obtained by each algorithm for each constellation size, for flexible requests encoded as R-DPAP. (

**a**) Normalized utility; (

**b**) global reward; (

**c**) computation time.

**Figure 20.**Average utility profiles (in leximin order) for each constellation size and each algorithm (south: best utility over all agents; west: second best utility; north: third best utility; east: worst utility), for partial request satisfaction mode and encoded as R-DPAP.

Generation Parameters | Values | |
---|---|---|

Constellation | Altitude | 500 km |

Number of orbital planes ${n}_{p}$ | 2, 4, 8, 16 | |

Number of satellites/plane | 2 | |

Inclination | 40° | |

Scheduling horizon | Start | 1 January 2020 |

Duration | 180 days | |

Problems | Number of users | 4 |

Type | V-DPAP, R-DPAP | |

Requests | Number of requests/user | 2 |

Requested observation Times | 3 RTs/request | |

Maximum random time shift ${\delta}_{r}$ | 1 h | |

Tolerance $\Delta $ | 1 h | |

Minimum slot duration $\mathit{minD}$ | 120 s | |

Satisfaction mode | full, partial | |

Algorithms | Type | $\mathsf{util}$, $\mathsf{lex}$, $\text{a-lex}$, $\mathsf{greedy}$, $\text{p-rr}$, $\text{n-rr}$ |

CPLEX time limit | 120 s |

**Table 2.**Properties of generated problems used in the experimental evaluation (average values over 100 instances per configuration are reported).

Problem | Properties | ${\mathit{n}}_{\mathit{p}}$ | |||
---|---|---|---|---|---|

2 | 4 | 8 | 16 | ||

V-DPAP | Conflicts | 37,715.34 | 74,009.12 | 146,657.94 | 291,831.52 |

Conflict size | 2.0 | 2.0 | 2.0 | 2.0 | |

Slots per RT | 1.94 | 3.81 | 7.54 | 15.01 | |

Slot duration (s) | 618.10 | 616.44 | 616.91 | 616.66 | |

R-DPAP | Conflicts | 1715.38 | 3527.42 | 6981.19 | 13,929.55 |

Conflict size | 3.28 | 3.17 | 3.21 | 3.19 | |

Slots per RT | 1.94 | 3.81 | 7.54 | 15.01 | |

Slot duration (s) | 618.10 | 616.44 | 616.91 | 616.66 |

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |

© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Roussel, S.; Picard, G.; Pralet, C.; Maqrot, S.
Conflicting Bundle Allocation with Preferences in Weighted Directed Acyclic Graphs: Application to Orbit Slot Allocation Problems. *Systems* **2023**, *11*, 297.
https://doi.org/10.3390/systems11060297

**AMA Style**

Roussel S, Picard G, Pralet C, Maqrot S.
Conflicting Bundle Allocation with Preferences in Weighted Directed Acyclic Graphs: Application to Orbit Slot Allocation Problems. *Systems*. 2023; 11(6):297.
https://doi.org/10.3390/systems11060297

**Chicago/Turabian Style**

Roussel, Stéphanie, Gauthier Picard, Cédric Pralet, and Sara Maqrot.
2023. "Conflicting Bundle Allocation with Preferences in Weighted Directed Acyclic Graphs: Application to Orbit Slot Allocation Problems" *Systems* 11, no. 6: 297.
https://doi.org/10.3390/systems11060297