@@ -24,6 +24,31 @@ tag, and has the following sections in any order:
2424 - ``lazy ``: decay is only computed whenever archetypes/agents "look" at a
2525 composition.
2626
27+ * solver (optional, once) - configure the DRE solver.
28+
29+ - choose one of:
30+
31+ - ``greedy ``: use a greedy heuristic (not guaranteed optimal, but fast)
32+ that orders trades based on the average preference of exchange groups
33+
34+ - preconditioner (optional) - precondition greedy-solved graphs
35+
36+ - choose one of:
37+
38+ - ``greedy ``: use an average-preference greedy preconditioner
39+
40+ - ``coin-or ``: use the COIN-OR CLP/CBC solver suite
41+
42+ - timeout (optional): kill solutions after this time (in seconds)
43+ - verbose (optional): print information about problems being solved
44+ - mps (optional): write MPS files for each exchange
45+
46+ - ``allow_exclusive_orders `` (optional) - exclusive orders should be
47+ allowed, `True ` by default. **NOTE ** many Cycamore archetypes depend on
48+ this option being `True ` and will not work as expected if it is
49+ `False `. This option can be turned to `False ` to guarantee LP solves of
50+ the DRE.
51+
2752Example
2853+++++++
2954
@@ -64,7 +89,7 @@ Grammar Definition
6489++++++++++++++++++
6590
6691.. code-block :: xml
67-
92+
6893 <element name =" control" >
6994 <interleave >
7095 <optional >
@@ -76,33 +101,37 @@ Grammar Definition
76101 <optional >
77102 <element name =" decay" > <text /> </element >
78103 </optional >
79- <optional >
80- <element name =" dt" ><data type =" nonNegativeInteger" /></element >
81- </optional >
82104 <optional >
83105 <element name =" solver" >
84106 <interleave >
107+ <optional ><element name =" config" >
108+ <choice >
109+ <element name =" greedy" >
110+ <interleave >
111+ <optional >
112+ <element name =" preconditioner" > <text /> </element >
113+ </optional >
114+ </interleave >
115+ </element >
116+ <element name =" coin-or" >
117+ <interleave >
118+ <optional >
119+ <element name =" timeout" > <data type =" positiveInteger" /> </element >
120+ </optional >
121+ <optional ><element name =" verbose" ><data type =" boolean" /></element ></optional >
122+ <optional ><element name =" mps" ><data type =" boolean" /></element ></optional >
123+ </interleave >
124+ </element >
125+ </choice >
126+ </element ></optional >
85127 <optional >
86- <element name =" name" > <text /> </element >
87- </optional >
88- <optional >
89- <choice >
90- <element name =" greedy" >
91- <interleave >
92- <optional >
93- <element name =" preconditioner" > <text /> </element >
94- </optional >
95- </interleave >
96- </element >
97- </choice >
98- </optional >
99- <optional >
100- <element name =" exclusive_orders_only" >
128+ <element name =" allow_exclusive_orders" >
101129 <data type =" boolean" />
102130 </element >
103131 </optional >
104132 </interleave >
105133 </element >
106134 </optional >
107135 </interleave >
136+ </element >
108137
0 commit comments