Allocation of indivisible goods: a general model and some complexity results Sylvain Bouveret, Hélène Fargier, Jérôme Lang and Michel Lemaître In Proceedings of Autonomous Agents and Multi Agent Systems 2005. |
PAPER |
|
Un modèle général et des résultats de
complexité pour le partage de biens indivisibles Sylvain Bouveret, Hélène Fargier, Jérôme Lang et Michel Lemaître In Actes de Modèles Formels de l'Interaction 2005. (in French) |
PAPER |
ComplexInstance
allows for building such constraints in
several ways:
ComplexInstance inst = new ComplexInstance(3, 4, "Dummy instance");
|
System.out.println(inst.pretty());
):
---------------------------------------
Dummy instance -> 3 agents, 4 objects
---------------------------------------
CONSTRAINTS:
> Preemption Constraint: ( 1 2 3 4 )
> Logical Constraint: ((¬alloc(2,1)) /\ (alloc(3,1) \/ alloc(4,1)))
> Logical Constraint: ((¬alloc(2,2)) /\ (alloc(3,2) \/ alloc(4,2)))
> Logical Constraint: ((¬alloc(2,3)) /\ (alloc(3,3) \/ alloc(4,3)))
PREFERENCES:
Agent 1:
* < ((o1 \/ ¬o2 \/ o3) /\ (o2 \/ o4)), 5 >
* < ((o1) /\ (¬o1 \/ o2 \/ o3 \/ o4)), 10 >
Agent 2:
* < ((o1 \/ o2 \/ o3) /\ (o2 \/ o4) /\ (¬o1)), 2 >
Agent 3:
---------------------------------------
RandomComplexInstanceGenerator generator = new RandomComplexInstanceGenerator(10, 30);
|
Exploiting a Common Property Resource under a Fairness Constraint: a Case Study. Michel Lemaître, Gérard Verfaillie and Nicolas Bataille In Proceedings of the International Joint Conference on Artificial Intelligence 1999. |
PAPER (PS) |
nbOrbits
of the satellite.k
successive opportunities, and allowing only
l
opportunities among the k
to be acquired.nA
and the number of objects nO
, the instance created by
the generator has only approximately nO
objects (but not more). If one wants exactly
nO
objects, one will have to add some objects manually.
PleiadesComplexInstanceGenerator generator = new PleiadesComplexInstanceGenerator(5, 50);
|
Randomly generated instance:
___________________________________
List of requests:
Agent 4 -- Weight 58 -> (< ID 1, orb 0 > || < ID 2, orb 1 > || < ID 3, orb 2 >)
Agent 0 -- Weight 150 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >)
Agent 1 -- Weight 51 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >)
Agent 2 -- Weight 2 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >)
Agent 3 -- Weight 121 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >)
Agent 4 -- Weight 143 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >)
Agent 0 -- Weight 111 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >)
Agent 1 -- Weight 139 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >)
Agent 2 -- Weight 112 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >)
Agent 3 -- Weight 1 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >)
Agent 4 -- Weight 1027848 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >)
Agent 1 -- Weight 2 -> (< ID 10, orb 0 > || < ID 11, orb 1 > || < ID 12, orb 2 >)
Agent 2 -- Weight 142 -> (< ID 13, orb 0 > || < ID 14, orb 1 > || < ID 15, orb 2 >)
Agent 0 -- Weight 1 -> (< ID 16, orb 0 > || < ID 17, orb 1 > || < ID 18, orb 2 >)
Agent 0 -- Weight 1366696 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >)
Agent 1 -- Weight 2 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >)
Agent 2 -- Weight 1 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >)
Agent 3 -- Weight 572320 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >)
Agent 4 -- Weight 86 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >)
Agent 0 -- Weight 2 -> (< ID 22, orb 0 > || < ID 23, orb 1 > || < ID 24, orb 2 >)
Agent 2 -- Weight 1405055 -> (< ID 25, orb 0 > || < ID 26, orb 1 > || < ID 27, orb 2 >) && (< ID 28, orb 0 > || < ID 29, orb 1 > || < ID 30, orb 2 >) && (< ID 31, orb 0 > || < ID 32, orb 1 > || < ID 33, orb 2 >) && (< ID 34, orb 0 > || < ID 35, orb 1 > || < ID 36, orb 2 >) && (< ID 37, orb 0 > || < ID 38, orb 1 > || < ID 39, orb 2 >)
Agent 0 -- Weight 2 -> (< ID 40, orb 0 > || < ID 41, orb 1 > || < ID 42, orb 2 >)
Agent 2 -- Weight 2 -> (< ID 43, orb 0 > || < ID 44, orb 1 > || < ID 45, orb 2 >) && (< ID 46, orb 0 > || < ID 47, orb 1 > || < ID 48, orb 2 >) (must be acquired in one orbit)
List of common requests among the entire list:
Common Request: Agent 0 -- Weight 150 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 1 -- Weight 51 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 2 -- Weight 2 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 3 -- Weight 121 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 4 -- Weight 143 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >)
Common Request: Agent 0 -- Weight 111 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 1 -- Weight 139 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 2 -- Weight 112 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 3 -- Weight 1 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 4 -- Weight 1027848 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >)
Common Request: Agent 0 -- Weight 1366696 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 1 -- Weight 2 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 2 -- Weight 1 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 3 -- Weight 572320 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 4 -- Weight 86 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >)
List of constraints:
1. Unequal rights constraints
Agent 0 -> Objects = [ < ID 4, orb 0 > < ID 5, orb 1 > < ID 6, orb 2 > < ID 7, orb 0 > < ID 8, orb 1 > < ID 9, orb 2 > < ID 16, orb 0 > < ID 17, orb 1 > < ID 18, orb 2 > < ID 19, orb 0 > < ID 20, orb 1 > < ID 21, orb 2 > < ID 22, orb 0 > < ID 23, orb 1 > < ID 24, orb 2 > < ID 40, orb 0 > < ID 41, orb 1 > < ID 42, orb 2 >] -- Weights = [ 4 4 3 2 4 3 1 3 4 2 4 3 1 3 1 2 1 4 ] -- maxWeight = 2
Agent 1 -> Objects = [ < ID 4, orb 0 > < ID 5, orb 1 > < ID 6, orb 2 > < ID 7, orb 0 > < ID 8, orb 1 > < ID 9, orb 2 > < ID 10, orb 0 > < ID 11, orb 1 > < ID 12, orb 2 > < ID 19, orb 0 > < ID 20, orb 1 > < ID 21, orb 2 >] -- Weights = [ 4 4 3 2 4 3 3 4 1 2 4 3 ] -- maxWeight = 7
Agent 2 -> Objects = [ < ID 4, orb 0 > < ID 5, orb 1 > < ID 6, orb 2 > < ID 7, orb 0 > < ID 8, orb 1 > < ID 9, orb 2 > < ID 13, orb 0 > < ID 14, orb 1 > < ID 15, orb 2 > < ID 19, orb 0 > < ID 20, orb 1 > < ID 21, orb 2 > < ID 25, orb 0 > < ID 26, orb 1 > < ID 27, orb 2 > < ID 28, orb 0 > < ID 29, orb 1 > < ID 30, orb 2 > < ID 31, orb 0 > < ID 32, orb 1 > < ID 33, orb 2 > < ID 34, orb 0 > < ID 35, orb 1 > < ID 36, orb 2 > < ID 37, orb 0 > < ID 38, orb 1 > < ID 39, orb 2 > < ID 43, orb 0 > < ID 44, orb 1 > < ID 45, orb 2 > < ID 46, orb 0 > < ID 47, orb 1 > < ID 48, orb 2 >] -- Weights = [ 4 4 3 2 4 3 3 1 4 2 4 3 3 2 2 4 4 3 2 4 3 4 1 3 2 2 1 3 3 2 3 4 3 ] -- maxWeight = 25
Agent 3 -> Objects = [ < ID 4, orb 0 > < ID 5, orb 1 > < ID 6, orb 2 > < ID 7, orb 0 > < ID 8, orb 1 > < ID 9, orb 2 > < ID 19, orb 0 > < ID 20, orb 1 > < ID 21, orb 2 >] -- Weights = [ 4 4 3 2 4 3 2 4 3 ] -- maxWeight = 90
Agent 4 -> Objects = [ < ID 1, orb 0 > < ID 2, orb 1 > < ID 3, orb 2 > < ID 4, orb 0 > < ID 5, orb 1 > < ID 6, orb 2 > < ID 7, orb 0 > < ID 8, orb 1 > < ID 9, orb 2 > < ID 19, orb 0 > < ID 20, orb 1 > < ID 21, orb 2 >] -- Weights = [ 2 1 1 4 4 3 2 4 3 2 4 3 ] -- maxWeight = 324
2. Generalized volume constraints
Objects = [ 0 1 2 3 4 5 6 7 8 9] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 1 2 3 4 5 6 7 8 9 10] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 2 3 4 5 6 7 8 9 10 11] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 3 4 5 6 7 8 9 10 11 12] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 4 5 6 7 8 9 10 11 12 13] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 5 6 7 8 9 10 11 12 13 14] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 6 7 8 9 10 11 12 13 14 15] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 7 8 9 10 11 12 13 14 15 16] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 8 9 10 11 12 13 14 15 16 17] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 9 10 11 12 13 14 15 16 17 18] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 10 11 12 13 14 15 16 17 18 19] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 11 12 13 14 15 16 17 18 19 20] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 12 13 14 15 16 17 18 19 20 21] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 13 14 15 16 17 18 19 20 21 22] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 14 15 16 17 18 19 20 21 22 23] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 15 16 17 18 19 20 21 22 23 24] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 16 17 18 19 20 21 22 23 24 25] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 17 18 19 20 21 22 23 24 25 26] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 18 19 20 21 22 23 24 25 26 27] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 19 20 21 22 23 24 25 26 27 28] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 20 21 22 23 24 25 26 27 28 29] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 21 22 23 24 25 26 27 28 29 30] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 22 23 24 25 26 27 28 29 30 31] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 23 24 25 26 27 28 29 30 31 32] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 24 25 26 27 28 29 30 31 32 33] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 25 26 27 28 29 30 31 32 33 34] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 26 27 28 29 30 31 32 33 34 35] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 27 28 29 30 31 32 33 34 35 36] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 28 29 30 31 32 33 34 35 36 37] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 29 30 31 32 33 34 35 36 37 38] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 30 31 32 33 34 35 36 37 38 39] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 31 32 33 34 35 36 37 38 39 40] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 32 33 34 35 36 37 38 39 40 41] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 33 34 35 36 37 38 39 40 41 42] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 34 35 36 37 38 39 40 41 42 43] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 35 36 37 38 39 40 41 42 43 44] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 36 37 38 39 40 41 42 43 44 45] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 37 38 39 40 41 42 43 44 45 46] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
Objects = [ 38 39 40 41 42 43 44 45 46 47] -- Weights = [ 1 1 1 1 1 1 1 1 1 1 ] -- maxWeight = 4
3. Common requests constraints
Common Request: Agent 0 -- Weight 150 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 1 -- Weight 51 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 2 -- Weight 2 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 3 -- Weight 121 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >), Agent 4 -- Weight 143 -> (< ID 4, orb 0 > || < ID 5, orb 1 > || < ID 6, orb 2 >) is a common request.
Common Request: Agent 0 -- Weight 111 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 1 -- Weight 139 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 2 -- Weight 112 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 3 -- Weight 1 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >), Agent 4 -- Weight 1027848 -> (< ID 7, orb 0 > || < ID 8, orb 1 > || < ID 9, orb 2 >) is a common request.
Common Request: Agent 0 -- Weight 1366696 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 1 -- Weight 2 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 2 -- Weight 1 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 3 -- Weight 572320 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >), Agent 4 -- Weight 86 -> (< ID 19, orb 0 > || < ID 20, orb 1 > || < ID 21, orb 2 >) is a common request.
4. Images that must be acquired in one orbit
Agent 2 -- Weight 2 -> (< ID 43, orb 0 > || < ID 44, orb 1 > || < ID 45, orb 2 >) && (< ID 46, orb 0 > || < ID 47, orb 1 > || < ID 48, orb 2 >) (must be acquired in one orbit)
--------------------------------------
Randomly generated instance of type Pleiades (seed = 1184596103059) -> 5 agents, 48 objects
---------------------------------------
CONSTRAINTS:
> Volume Constraint: ( <o4: 4> <o5: 4> <o6: 3> <o7: 2> <o8: 4> <o9: 3> <o16: 1> <o17: 3> <o18: 4> <o19: 2> <o20: 4> <o21: 3> <o22: 1> <o23: 3> <o24: 1> <o40: 2> <o41: 1> <o42: 4> ) < 2
> Volume Constraint: ( <o4: 4> <o5: 4> <o6: 3> <o7: 2> <o8: 4> <o9: 3> <o10: 3> <o11: 4> <o12: 1> <o19: 2> <o20: 4> <o21: 3> ) < 7
> Volume Constraint: ( <o4: 4> <o5: 4> <o6: 3> <o7: 2> <o8: 4> <o9: 3> <o13: 3> <o14: 1> <o15: 4> <o19: 2> <o20: 4> <o21: 3> <o25: 3> <o26: 2> <o27: 2> <o28: 4> <o29: 4> <o30: 3> <o31: 2> <o32: 4> <o33: 3> <o34: 4> <o35: 1> <o36: 3> <o37: 2> <o38: 2> <o39: 1> <o43: 3> <o44: 3> <o45: 2> <o46: 3> <o47: 4> <o48: 3> ) < 25
> Volume Constraint: ( <o4: 4> <o5: 4> <o6: 3> <o7: 2> <o8: 4> <o9: 3> <o19: 2> <o20: 4> <o21: 3> ) < 90
> Volume Constraint: ( <o1: 2> <o2: 1> <o3: 1> <o4: 4> <o5: 4> <o6: 3> <o7: 2> <o8: 4> <o9: 3> <o19: 2> <o20: 4> <o21: 3> ) < 324
> Volume Constraint: ( <o1: 1> <o2: 1> <o3: 1> <o4: 1> <o5: 1> <o6: 1> <o7: 1> <o8: 1> <o9: 1> <o10: 1> ) < 4
> Volume Constraint: ( <o2: 1> <o3: 1> <o4: 1> <o5: 1> <o6: 1> <o7: 1> <o8: 1> <o9: 1> <o10: 1> <o11: 1> ) < 4
> Volume Constraint: ( <o3: 1> <o4: 1> <o5: 1> <o6: 1> <o7: 1> <o8: 1> <o9: 1> <o10: 1> <o11: 1> <o12: 1> ) < 4
> Volume Constraint: ( <o4: 1> <o5: 1> <o6: 1> <o7: 1> <o8: 1> <o9: 1> <o10: 1> <o11: 1> <o12: 1> <o13: 1> ) < 4
> Volume Constraint: ( <o5: 1> <o6: 1> <o7: 1> <o8: 1> <o9: 1> <o10: 1> <o11: 1> <o12: 1> <o13: 1> <o14: 1> ) < 4
> Volume Constraint: ( <o6: 1> <o7: 1> <o8: 1> <o9: 1> <o10: 1> <o11: 1> <o12: 1> <o13: 1> <o14: 1> <o15: 1> ) < 4
> Volume Constraint: ( <o7: 1> <o8: 1> <o9: 1> <o10: 1> <o11: 1> <o12: 1> <o13: 1> <o14: 1> <o15: 1> <o16: 1> ) < 4
> Volume Constraint: ( <o8: 1> <o9: 1> <o10: 1> <o11: 1> <o12: 1> <o13: 1> <o14: 1> <o15: 1> <o16: 1> <o17: 1> ) < 4
> Volume Constraint: ( <o9: 1> <o10: 1> <o11: 1> <o12: 1> <o13: 1> <o14: 1> <o15: 1> <o16: 1> <o17: 1> <o18: 1> ) < 4
> Volume Constraint: ( <o10: 1> <o11: 1> <o12: 1> <o13: 1> <o14: 1> <o15: 1> <o16: 1> <o17: 1> <o18: 1> <o19: 1> ) < 4
> Volume Constraint: ( <o11: 1> <o12: 1> <o13: 1> <o14: 1> <o15: 1> <o16: 1> <o17: 1> <o18: 1> <o19: 1> <o20: 1> ) < 4
> Volume Constraint: ( <o12: 1> <o13: 1> <o14: 1> <o15: 1> <o16: 1> <o17: 1> <o18: 1> <o19: 1> <o20: 1> <o21: 1> ) < 4
> Volume Constraint: ( <o13: 1> <o14: 1> <o15: 1> <o16: 1> <o17: 1> <o18: 1> <o19: 1> <o20: 1> <o21: 1> <o22: 1> ) < 4
> Volume Constraint: ( <o14: 1> <o15: 1> <o16: 1> <o17: 1> <o18: 1> <o19: 1> <o20: 1> <o21: 1> <o22: 1> <o23: 1> ) < 4
> Volume Constraint: ( <o15: 1> <o16: 1> <o17: 1> <o18: 1> <o19: 1> <o20: 1> <o21: 1> <o22: 1> <o23: 1> <o24: 1> ) < 4
> Volume Constraint: ( <o16: 1> <o17: 1> <o18: 1> <o19: 1> <o20: 1> <o21: 1> <o22: 1> <o23: 1> <o24: 1> <o25: 1> ) < 4
> Volume Constraint: ( <o17: 1> <o18: 1> <o19: 1> <o20: 1> <o21: 1> <o22: 1> <o23: 1> <o24: 1> <o25: 1> <o26: 1> ) < 4
> Volume Constraint: ( <o18: 1> <o19: 1> <o20: 1> <o21: 1> <o22: 1> <o23: 1> <o24: 1> <o25: 1> <o26: 1> <o27: 1> ) < 4
> Volume Constraint: ( <o19: 1> <o20: 1> <o21: 1> <o22: 1> <o23: 1> <o24: 1> <o25: 1> <o26: 1> <o27: 1> <o28: 1> ) < 4
> Volume Constraint: ( <o20: 1> <o21: 1> <o22: 1> <o23: 1> <o24: 1> <o25: 1> <o26: 1> <o27: 1> <o28: 1> <o29: 1> ) < 4
> Volume Constraint: ( <o21: 1> <o22: 1> <o23: 1> <o24: 1> <o25: 1> <o26: 1> <o27: 1> <o28: 1> <o29: 1> <o30: 1> ) < 4
> Volume Constraint: ( <o22: 1> <o23: 1> <o24: 1> <o25: 1> <o26: 1> <o27: 1> <o28: 1> <o29: 1> <o30: 1> <o31: 1> ) < 4
> Volume Constraint: ( <o23: 1> <o24: 1> <o25: 1> <o26: 1> <o27: 1> <o28: 1> <o29: 1> <o30: 1> <o31: 1> <o32: 1> ) < 4
> Volume Constraint: ( <o24: 1> <o25: 1> <o26: 1> <o27: 1> <o28: 1> <o29: 1> <o30: 1> <o31: 1> <o32: 1> <o33: 1> ) < 4
> Volume Constraint: ( <o25: 1> <o26: 1> <o27: 1> <o28: 1> <o29: 1> <o30: 1> <o31: 1> <o32: 1> <o33: 1> <o34: 1> ) < 4
> Volume Constraint: ( <o26: 1> <o27: 1> <o28: 1> <o29: 1> <o30: 1> <o31: 1> <o32: 1> <o33: 1> <o34: 1> <o35: 1> ) < 4
> Volume Constraint: ( <o27: 1> <o28: 1> <o29: 1> <o30: 1> <o31: 1> <o32: 1> <o33: 1> <o34: 1> <o35: 1> <o36: 1> ) < 4
> Volume Constraint: ( <o28: 1> <o29: 1> <o30: 1> <o31: 1> <o32: 1> <o33: 1> <o34: 1> <o35: 1> <o36: 1> <o37: 1> ) < 4
> Volume Constraint: ( <o29: 1> <o30: 1> <o31: 1> <o32: 1> <o33: 1> <o34: 1> <o35: 1> <o36: 1> <o37: 1> <o38: 1> ) < 4
> Volume Constraint: ( <o30: 1> <o31: 1> <o32: 1> <o33: 1> <o34: 1> <o35: 1> <o36: 1> <o37: 1> <o38: 1> <o39: 1> ) < 4
> Volume Constraint: ( <o31: 1> <o32: 1> <o33: 1> <o34: 1> <o35: 1> <o36: 1> <o37: 1> <o38: 1> <o39: 1> <o40: 1> ) < 4
> Volume Constraint: ( <o32: 1> <o33: 1> <o34: 1> <o35: 1> <o36: 1> <o37: 1> <o38: 1> <o39: 1> <o40: 1> <o41: 1> ) < 4
> Volume Constraint: ( <o33: 1> <o34: 1> <o35: 1> <o36: 1> <o37: 1> <o38: 1> <o39: 1> <o40: 1> <o41: 1> <o42: 1> ) < 4
> Volume Constraint: ( <o34: 1> <o35: 1> <o36: 1> <o37: 1> <o38: 1> <o39: 1> <o40: 1> <o41: 1> <o42: 1> <o43: 1> ) < 4
> Volume Constraint: ( <o35: 1> <o36: 1> <o37: 1> <o38: 1> <o39: 1> <o40: 1> <o41: 1> <o42: 1> <o43: 1> <o44: 1> ) < 4
> Volume Constraint: ( <o36: 1> <o37: 1> <o38: 1> <o39: 1> <o40: 1> <o41: 1> <o42: 1> <o43: 1> <o44: 1> <o45: 1> ) < 4
> Volume Constraint: ( <o37: 1> <o38: 1> <o39: 1> <o40: 1> <o41: 1> <o42: 1> <o43: 1> <o44: 1> <o45: 1> <o46: 1> ) < 4
> Volume Constraint: ( <o38: 1> <o39: 1> <o40: 1> <o41: 1> <o42: 1> <o43: 1> <o44: 1> <o45: 1> <o46: 1> <o47: 1> ) < 4
> Volume Constraint: ( <o39: 1> <o40: 1> <o41: 1> <o42: 1> <o43: 1> <o44: 1> <o45: 1> <o46: 1> <o47: 1> <o48: 1> ) < 4
> Logical Constraint: ((¬alloc(4,1) /\ ¬alloc(4,2) /\ ¬alloc(4,3) /\ ¬alloc(4,4) /\ ¬alloc(4,5)) \/ (alloc(4,1) /\ alloc(4,2) /\ alloc(4,3) /\ alloc(4,4) /\ alloc(4,5)))
> Logical Constraint: ((¬alloc(5,1) /\ ¬alloc(5,2) /\ ¬alloc(5,3) /\ ¬alloc(5,4) /\ ¬alloc(5,5)) \/ (alloc(5,1) /\ alloc(5,2) /\ alloc(5,3) /\ alloc(5,4) /\ alloc(5,5)))
> Logical Constraint: ((¬alloc(6,1) /\ ¬alloc(6,2) /\ ¬alloc(6,3) /\ ¬alloc(6,4) /\ ¬alloc(6,5)) \/ (alloc(6,1) /\ alloc(6,2) /\ alloc(6,3) /\ alloc(6,4) /\ alloc(6,5)))
> Logical Constraint: ((¬alloc(7,1) /\ ¬alloc(7,2) /\ ¬alloc(7,3) /\ ¬alloc(7,4) /\ ¬alloc(7,5)) \/ (alloc(7,1) /\ alloc(7,2) /\ alloc(7,3) /\ alloc(7,4) /\ alloc(7,5)))
> Logical Constraint: ((¬alloc(8,1) /\ ¬alloc(8,2) /\ ¬alloc(8,3) /\ ¬alloc(8,4) /\ ¬alloc(8,5)) \/ (alloc(8,1) /\ alloc(8,2) /\ alloc(8,3) /\ alloc(8,4) /\ alloc(8,5)))
> Logical Constraint: ((¬alloc(9,1) /\ ¬alloc(9,2) /\ ¬alloc(9,3) /\ ¬alloc(9,4) /\ ¬alloc(9,5)) \/ (alloc(9,1) /\ alloc(9,2) /\ alloc(9,3) /\ alloc(9,4) /\ alloc(9,5)))
> Logical Constraint: ((¬alloc(19,1) /\ ¬alloc(19,2) /\ ¬alloc(19,3) /\ ¬alloc(19,4) /\ ¬alloc(19,5)) \/ (alloc(19,1) /\ alloc(19,2) /\ alloc(19,3) /\ alloc(19,4) /\ alloc(19,5)))
> Logical Constraint: ((¬alloc(20,1) /\ ¬alloc(20,2) /\ ¬alloc(20,3) /\ ¬alloc(20,4) /\ ¬alloc(20,5)) \/ (alloc(20,1) /\ alloc(20,2) /\ alloc(20,3) /\ alloc(20,4) /\ alloc(20,5)))
> Logical Constraint: ((¬alloc(21,1) /\ ¬alloc(21,2) /\ ¬alloc(21,3) /\ ¬alloc(21,4) /\ ¬alloc(21,5)) \/ (alloc(21,1) /\ alloc(21,2) /\ alloc(21,3) /\ alloc(21,4) /\ alloc(21,5)))
> Logical Constraint: ((¬alloc(43,3) /\ ¬alloc(44,3) /\ ¬alloc(45,3) /\ ¬alloc(46,3) /\ ¬alloc(47,3) /\ ¬alloc(48,3)) \/ (alloc(43,3) /\ ¬alloc(44,3) /\ ¬alloc(45,3) /\ alloc(46,3) /\ ¬alloc(47,3) /\ ¬alloc(48,3)) \/ (¬alloc(43,3) /\ alloc(44,3) /\ ¬alloc(45,3) /\ ¬alloc(46,3) /\ alloc(47,3) /\ ¬alloc(48,3)) \/ (¬alloc(43,3) /\ ¬alloc(44,3) /\ alloc(45,3) /\ ¬alloc(46,3) /\ ¬alloc(47,3) /\ alloc(48,3)))
PREFERENCES:
Agent 1:
* < ((o4 \/ o5 \/ o6)), 150 >
* < ((o7 \/ o8 \/ o9)), 111 >
* < ((o16 \/ o17 \/ o18)), 1 >
* < ((o19 \/ o20 \/ o21)), 1366696 >
* < ((o22 \/ o23 \/ o24)), 2 >
* < ((o40 \/ o41 \/ o42)), 2 >
Agent 2:
* < ((o4 \/ o5 \/ o6)), 51 >
* < ((o7 \/ o8 \/ o9)), 139 >
* < ((o10 \/ o11 \/ o12)), 2 >
* < ((o19 \/ o20 \/ o21)), 2 >
Agent 3:
* < ((o4 \/ o5 \/ o6)), 2 >
* < ((o7 \/ o8 \/ o9)), 112 >
* < ((o13 \/ o14 \/ o15)), 142 >
* < ((o19 \/ o20 \/ o21)), 1 >
* < ((o25 \/ o26 \/ o27) /\ (o28 \/ o29 \/ o30) /\ (o31 \/ o32 \/ o33) /\ (o34 \/ o35 \/ o36) /\ (o37 \/ o38 \/ o39)), 1405055 >
* < ((o43 \/ o44 \/ o45) /\ (o46 \/ o47 \/ o48)), 2 >
Agent 4:
* < ((o4 \/ o5 \/ o6)), 121 >
* < ((o7 \/ o8 \/ o9)), 1 >
* < ((o19 \/ o20 \/ o21)), 572320 >
Agent 5:
* < ((o1 \/ o2 \/ o3)), 58 >
* < ((o4 \/ o5 \/ o6)), 143 >
* < ((o7 \/ o8 \/ o9)), 1027848 >
* < ((o19 \/ o20 \/ o21)), 86 >
---------------------------------------
nbOrbits
of the satellites.PERIOD_TIME
. It can be randomly choosen according to a uniform law over the interval, or
randomly choosen around a few « hot areas » (corresponding to the areas of
the earth surface where a lot of requests concentrate) randomly choosen at the begining.nA
and the number of objects nO
, the instance created by
the generator has only approximately nO
objects (but not more). If one wants exactly
nO
objects, one will have to add some objects manually.
PleiadesComplexInstanceGenerator generator = new PleiadesComplexInstanceGenerator(5, 50);
|
List of Hot Areas: [ 4441 1849 ]
Request 1: Agent 2 -- Weight 1 -> < ID1, orb0, sat0, [4407,4422], -25° > || < ID2, orb1, sat0, [10407,10422], -25° > || < ID3, orb2, sat0, [16407,16422], -25° > || < ID4, orb0, sat1, [6407,6422], -25° > || < ID5, orb1, sat1, [12407,12422], -25° > || < ID6, orb2, sat1, [407,422], -25° > || < ID7, orb0, sat2, [8407,8422], -25° > || < ID8, orb1, sat2, [14407,14422], -25° > || < ID9, orb2, sat2, [2407,2422], -25° >
Request 2: Agent 5 -- Weight 14 -> < ID10, orb0, sat0, [442,473], -21° > || < ID11, orb1, sat0, [6442,6473], -21° > || < ID12, orb2, sat0, [12442,12473], -21° > || < ID13, orb0, sat1, [2442,2473], -21° > || < ID14, orb1, sat1, [8442,8473], -21° > || < ID15, orb2, sat1, [14442,14473], -21° > || < ID16, orb0, sat2, [4442,4473], -21° > || < ID17, orb1, sat2, [10442,10473], -21° > || < ID18, orb2, sat2, [16442,16473], -21° >
Request 3: Agent 4 -- Weight 16 -> < ID19, orb0, sat0, [4419,4472], -3° > || < ID20, orb1, sat0, [10419,10472], -3° > || < ID21, orb2, sat0, [16419,16472], -3° > || < ID22, orb0, sat1, [6419,6472], -3° > || < ID23, orb1, sat1, [12419,12472], -3° > || < ID24, orb2, sat1, [419,472], -3° > || < ID25, orb0, sat2, [8419,8472], -3° > || < ID26, orb1, sat2, [14419,14472], -3° > || < ID27, orb2, sat2, [2419,2472], -3° >
Request 4: Agent 5 -- Weight 17 -> < ID28, orb0, sat0, [3586,3631], 22° > || < ID29, orb1, sat0, [9586,9631], 22° > || < ID30, orb2, sat0, [15586,15631], 22° > || < ID31, orb0, sat1, [5586,5631], 22° > || < ID32, orb1, sat1, [11586,11631], 22° > || < ID33, orb2, sat1, [17586,17631], 22° > || < ID34, orb0, sat2, [7586,7631], 22° > || < ID35, orb1, sat2, [13586,13631], 22° > || < ID36, orb2, sat2, [1586,1631], 22° >
Request 5: Agent 1 -- Weight 14 -> < ID37, orb0, sat0, [1859,1890], 22° > || < ID38, orb1, sat0, [7859,7890], 22° > || < ID39, orb2, sat0, [13859,13890], 22° > || < ID40, orb0, sat1, [3859,3890], 22° > || < ID41, orb1, sat1, [9859,9890], 22° > || < ID42, orb2, sat1, [15859,15890], 22° > || < ID43, orb0, sat2, [5859,5890], 22° > || < ID44, orb1, sat2, [11859,11890], 22° > || < ID45, orb2, sat2, [17859,17890], 22° >
Consumption of objects: [ 12 12 12 12 12 12 12 12 12 25 25 25 25 25 25 25 25 25 44 44 44 44 44 44 44 44 44 37 37 37 37 37 37 37 37 37 25 25 25 25 25 25 25 25 25 ]
Maximal amount of resource available (per satellite): 600
List of constraints:
1. Exclusion constraints:
Objects < ID1, orb0, sat0, [4407,4422], -25° > and < ID19, orb0, sat0, [4419,4472], -3° > are incompatible.
Objects < ID2, orb1, sat0, [10407,10422], -25° > and < ID20, orb1, sat0, [10419,10472], -3° > are incompatible.
Objects < ID3, orb2, sat0, [16407,16422], -25° > and < ID21, orb2, sat0, [16419,16472], -3° > are incompatible.
Objects < ID4, orb0, sat1, [6407,6422], -25° > and < ID22, orb0, sat1, [6419,6472], -3° > are incompatible.
Objects < ID5, orb1, sat1, [12407,12422], -25° > and < ID23, orb1, sat1, [12419,12472], -3° > are incompatible.
Objects < ID6, orb2, sat1, [407,422], -25° > and < ID24, orb2, sat1, [419,472], -3° > are incompatible.
Objects < ID7, orb0, sat2, [8407,8422], -25° > and < ID25, orb0, sat2, [8419,8472], -3° > are incompatible.
Objects < ID8, orb1, sat2, [14407,14422], -25° > and < ID26, orb1, sat2, [14419,14472], -3° > are incompatible.
Objects < ID9, orb2, sat2, [2407,2422], -25° > and < ID27, orb2, sat2, [2419,2472], -3° > are incompatible.
2. Memory constraints:
Objects -> [ < ID1, orb0, sat0, [4407,4422], -25° > < ID2, orb1, sat0, [10407,10422], -25° > < ID3, orb2, sat0, [16407,16422], -25° > < ID10, orb0, sat0, [442,473], -21° > < ID11, orb1, sat0, [6442,6473], -21° > < ID12, orb2, sat0, [12442,12473], -21° > < ID19, orb0, sat0, [4419,4472], -3° > < ID20, orb1, sat0, [10419,10472], -3° > < ID21, orb2, sat0, [16419,16472], -3° > < ID28, orb0, sat0, [3586,3631], 22° > < ID29, orb1, sat0, [9586,9631], 22° > < ID30, orb2, sat0, [15586,15631], 22° > < ID37, orb0, sat0, [1859,1890], 22° > < ID38, orb1, sat0, [7859,7890], 22° > < ID39, orb2, sat0, [13859,13890], 22° > ], weights -> [ 12 12 12 25 25 25 44 44 44 37 37 37 25 25 25 ], maxWeight = 600
Objects -> [ < ID4, orb0, sat1, [6407,6422], -25° > < ID5, orb1, sat1, [12407,12422], -25° > < ID6, orb2, sat1, [407,422], -25° > < ID13, orb0, sat1, [2442,2473], -21° > < ID14, orb1, sat1, [8442,8473], -21° > < ID15, orb2, sat1, [14442,14473], -21° > < ID22, orb0, sat1, [6419,6472], -3° > < ID23, orb1, sat1, [12419,12472], -3° > < ID24, orb2, sat1, [419,472], -3° > < ID31, orb0, sat1, [5586,5631], 22° > < ID32, orb1, sat1, [11586,11631], 22° > < ID33, orb2, sat1, [17586,17631], 22° > < ID40, orb0, sat1, [3859,3890], 22° > < ID41, orb1, sat1, [9859,9890], 22° > < ID42, orb2, sat1, [15859,15890], 22° > ], weights -> [ 12 12 12 25 25 25 44 44 44 37 37 37 25 25 25 ], maxWeight = 600
Objects -> [ < ID7, orb0, sat2, [8407,8422], -25° > < ID8, orb1, sat2, [14407,14422], -25° > < ID9, orb2, sat2, [2407,2422], -25° > < ID16, orb0, sat2, [4442,4473], -21° > < ID17, orb1, sat2, [10442,10473], -21° > < ID18, orb2, sat2, [16442,16473], -21° > < ID25, orb0, sat2, [8419,8472], -3° > < ID26, orb1, sat2, [14419,14472], -3° > < ID27, orb2, sat2, [2419,2472], -3° > < ID34, orb0, sat2, [7586,7631], 22° > < ID35, orb1, sat2, [13586,13631], 22° > < ID36, orb2, sat2, [1586,1631], 22° > < ID43, orb0, sat2, [5859,5890], 22° > < ID44, orb1, sat2, [11859,11890], 22° > < ID45, orb2, sat2, [17859,17890], 22° > ], weights -> [ 12 12 12 25 25 25 44 44 44 37 37 37 25 25 25 ], maxWeight = 600
---------------------------------------
Randomly generated instance of type Spot (seed = 1184658538919) -> 5 agents, 45 objects
---------------------------------------
CONSTRAINTS:
> Logical Constraint: ((¬alloc(1,1) /\ ¬alloc(1,2) /\ ¬alloc(1,3) /\ ¬alloc(1,4) /\ ¬alloc(1,5)) \/ (¬alloc(19,1) /\ ¬alloc(19,2) /\ ¬alloc(19,3) /\ ¬alloc(19,4) /\ ¬alloc(19,5)))
> Logical Constraint: ((¬alloc(2,1) /\ ¬alloc(2,2) /\ ¬alloc(2,3) /\ ¬alloc(2,4) /\ ¬alloc(2,5)) \/ (¬alloc(20,1) /\ ¬alloc(20,2) /\ ¬alloc(20,3) /\ ¬alloc(20,4) /\ ¬alloc(20,5)))
> Logical Constraint: ((¬alloc(3,1) /\ ¬alloc(3,2) /\ ¬alloc(3,3) /\ ¬alloc(3,4) /\ ¬alloc(3,5)) \/ (¬alloc(21,1) /\ ¬alloc(21,2) /\ ¬alloc(21,3) /\ ¬alloc(21,4) /\ ¬alloc(21,5)))
> Logical Constraint: ((¬alloc(4,1) /\ ¬alloc(4,2) /\ ¬alloc(4,3) /\ ¬alloc(4,4) /\ ¬alloc(4,5)) \/ (¬alloc(22,1) /\ ¬alloc(22,2) /\ ¬alloc(22,3) /\ ¬alloc(22,4) /\ ¬alloc(22,5)))
> Logical Constraint: ((¬alloc(5,1) /\ ¬alloc(5,2) /\ ¬alloc(5,3) /\ ¬alloc(5,4) /\ ¬alloc(5,5)) \/ (¬alloc(23,1) /\ ¬alloc(23,2) /\ ¬alloc(23,3) /\ ¬alloc(23,4) /\ ¬alloc(23,5)))
> Logical Constraint: ((¬alloc(6,1) /\ ¬alloc(6,2) /\ ¬alloc(6,3) /\ ¬alloc(6,4) /\ ¬alloc(6,5)) \/ (¬alloc(24,1) /\ ¬alloc(24,2) /\ ¬alloc(24,3) /\ ¬alloc(24,4) /\ ¬alloc(24,5)))
> Logical Constraint: ((¬alloc(7,1) /\ ¬alloc(7,2) /\ ¬alloc(7,3) /\ ¬alloc(7,4) /\ ¬alloc(7,5)) \/ (¬alloc(25,1) /\ ¬alloc(25,2) /\ ¬alloc(25,3) /\ ¬alloc(25,4) /\ ¬alloc(25,5)))
> Logical Constraint: ((¬alloc(8,1) /\ ¬alloc(8,2) /\ ¬alloc(8,3) /\ ¬alloc(8,4) /\ ¬alloc(8,5)) \/ (¬alloc(26,1) /\ ¬alloc(26,2) /\ ¬alloc(26,3) /\ ¬alloc(26,4) /\ ¬alloc(26,5)))
> Logical Constraint: ((¬alloc(9,1) /\ ¬alloc(9,2) /\ ¬alloc(9,3) /\ ¬alloc(9,4) /\ ¬alloc(9,5)) \/ (¬alloc(27,1) /\ ¬alloc(27,2) /\ ¬alloc(27,3) /\ ¬alloc(27,4) /\ ¬alloc(27,5)))
> Volume Constraint: ( <o1: 12> <o2: 12> <o3: 12> <o10: 25> <o11: 25> <o12: 25> <o19: 44> <o20: 44> <o21: 44> <o28: 37> <o29: 37> <o30: 37> <o37: 25> <o38: 25> <o39: 25> ) < 600
> Volume Constraint: ( <o4: 12> <o5: 12> <o6: 12> <o13: 25> <o14: 25> <o15: 25> <o22: 44> <o23: 44> <o24: 44> <o31: 37> <o32: 37> <o33: 37> <o40: 25> <o41: 25> <o42: 25> ) < 600
> Volume Constraint: ( <o7: 12> <o8: 12> <o9: 12> <o16: 25> <o17: 25> <o18: 25> <o25: 44> <o26: 44> <o27: 44> <o34: 37> <o35: 37> <o36: 37> <o43: 25> <o44: 25> <o45: 25> ) < 600
PREFERENCES:
Agent 1:
* < ((o37 \/ o38 \/ o39 \/ o40 \/ o41 \/ o42 \/ o43 \/ o44 \/ o45)), 14 >
Agent 2:
* < ((o1 \/ o2 \/ o3 \/ o4 \/ o5 \/ o6 \/ o7 \/ o8 \/ o9)), 1 >
Agent 3:
Agent 4:
* < ((o19 \/ o20 \/ o21 \/ o22 \/ o23 \/ o24 \/ o25 \/ o26 \/ o27)), 16 >
Agent 5:
* < ((o10 \/ o11 \/ o12 \/ o13 \/ o14 \/ o15 \/ o16 \/ o17 \/ o18)), 14 >
* < ((o28 \/ o29 \/ o30 \/ o31 \/ o32 \/ o33 \/ o34 \/ o35 \/ o36)), 17 >
---------------------------------------
Last modified: Wed May 14 11:18:04 CEST 2014 |