source: javadoc/genius/core/analysis/MultilateralAnalysis.html@ 1

Last change on this file since 1 was 1, checked in by Wouter Pasman, 7 years ago

Initial import : Genius 9.0.0

File size: 18.9 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!-- NewPage -->
3<html lang="en">
4<head>
5<!-- Generated by javadoc (1.8.0_112) on Thu Jun 21 12:05:56 CEST 2018 -->
6<title>MultilateralAnalysis (Genius Core Documentation)</title>
7<meta name="date" content="2018-06-21">
8<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
9<script type="text/javascript" src="../../../script.js"></script>
10</head>
11<body>
12<script type="text/javascript"><!--
13 try {
14 if (location.href.indexOf('is-external=true') == -1) {
15 parent.document.title="MultilateralAnalysis (Genius Core Documentation)";
16 }
17 }
18 catch(err) {
19 }
20//-->
21var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10};
22var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
23var altColor = "altColor";
24var rowColor = "rowColor";
25var tableTab = "tableTab";
26var activeTableTab = "activeTableTab";
27</script>
28<noscript>
29<div>JavaScript is disabled on your browser.</div>
30</noscript>
31<!-- ========= START OF TOP NAVBAR ======= -->
32<div class="topNav"><a name="navbar.top">
33<!-- -->
34</a>
35<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
36<a name="navbar.top.firstrow">
37<!-- -->
38</a>
39<ul class="navList" title="Navigation">
40<li><a href="../../../overview-summary.html">Overview</a></li>
41<li><a href="package-summary.html">Package</a></li>
42<li class="navBarCell1Rev">Class</li>
43<li><a href="class-use/MultilateralAnalysis.html">Use</a></li>
44<li><a href="package-tree.html">Tree</a></li>
45<li><a href="../../../deprecated-list.html">Deprecated</a></li>
46<li><a href="../../../index-all.html">Index</a></li>
47<li><a href="../../../help-doc.html">Help</a></li>
48</ul>
49</div>
50<div class="subNav">
51<ul class="navList">
52<li><a href="../../../genius/core/analysis/BidSpaceCache.html" title="class in genius.core.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
53<li><a href="../../../genius/core/analysis/ParetoFrontier.html" title="class in genius.core.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
54</ul>
55<ul class="navList">
56<li><a href="../../../index.html?genius/core/analysis/MultilateralAnalysis.html" target="_top">Frames</a></li>
57<li><a href="MultilateralAnalysis.html" target="_top">No&nbsp;Frames</a></li>
58</ul>
59<ul class="navList" id="allclasses_navbar_top">
60<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
61</ul>
62<div>
63<script type="text/javascript"><!--
64 allClassesLink = document.getElementById("allclasses_navbar_top");
65 if(window==top) {
66 allClassesLink.style.display = "block";
67 }
68 else {
69 allClassesLink.style.display = "none";
70 }
71 //-->
72</script>
73</div>
74<div>
75<ul class="subNavList">
76<li>Summary:&nbsp;</li>
77<li>Nested&nbsp;|&nbsp;</li>
78<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
79<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
80<li><a href="#method.summary">Method</a></li>
81</ul>
82<ul class="subNavList">
83<li>Detail:&nbsp;</li>
84<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
85<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
86<li><a href="#method.detail">Method</a></li>
87</ul>
88</div>
89<a name="skip.navbar.top">
90<!-- -->
91</a></div>
92<!-- ========= END OF TOP NAVBAR ========= -->
93<!-- ======== START OF CLASS DATA ======== -->
94<div class="header">
95<div class="subTitle">genius.core.analysis</div>
96<h2 title="Class MultilateralAnalysis" class="title">Class MultilateralAnalysis</h2>
97</div>
98<div class="contentContainer">
99<ul class="inheritance">
100<li>java.lang.Object</li>
101<li>
102<ul class="inheritance">
103<li>genius.core.analysis.MultilateralAnalysis</li>
104</ul>
105</li>
106</ul>
107<div class="description">
108<ul class="blockList">
109<li class="blockList">
110<hr>
111<br>
112<pre>public class <span class="typeNameLabel">MultilateralAnalysis</span>
113extends java.lang.Object</pre>
114<div class="block">Start on analysis of the multi party tournament. Code in this class is mainly
115 adapted from the bilateral analysis which is in the other classes of this
116 package (negotiator.analysis)</div>
117<dl>
118<dt><span class="simpleTagLabel">Author:</span></dt>
119<dd>David Festen</dd>
120</dl>
121</li>
122</ul>
123</div>
124<div class="summary">
125<ul class="blockList">
126<li class="blockList">
127<!-- =========== FIELD SUMMARY =========== -->
128<ul class="blockList">
129<li class="blockList"><a name="field.summary">
130<!-- -->
131</a>
132<h3>Field Summary</h3>
133<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
134<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
135<tr>
136<th class="colFirst" scope="col">Modifier and Type</th>
137<th class="colLast" scope="col">Field and Description</th>
138</tr>
139<tr class="altColor">
140<td class="colFirst"><code>static int</code></td>
141<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#ENUMERATION_CUTOFF">ENUMERATION_CUTOFF</a></span></code>
142<div class="block">Maximum number of bids to analyse</div>
143</td>
144</tr>
145</table>
146</li>
147</ul>
148<!-- ======== CONSTRUCTOR SUMMARY ======== -->
149<ul class="blockList">
150<li class="blockList"><a name="constructor.summary">
151<!-- -->
152</a>
153<h3>Constructor Summary</h3>
154<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
155<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
156<tr>
157<th class="colOne" scope="col">Constructor and Description</th>
158</tr>
159<tr class="altColor">
160<td class="colOne"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#MultilateralAnalysis-java.util.List-genius.core.Bid-java.lang.Double-">MultilateralAnalysis</a></span>(java.util.List&lt;? extends <a href="../../../genius/core/parties/PartyWithUtility.html" title="interface in genius.core.parties">PartyWithUtility</a>&gt;&nbsp;parties,
161 <a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;agreedBid,
162 java.lang.Double&nbsp;endTime)</code>&nbsp;</td>
163</tr>
164</table>
165</li>
166</ul>
167<!-- ========== METHOD SUMMARY =========== -->
168<ul class="blockList">
169<li class="blockList"><a name="method.summary">
170<!-- -->
171</a>
172<h3>Method Summary</h3>
173<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
174<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
175<tr>
176<th class="colFirst" scope="col">Modifier and Type</th>
177<th class="colLast" scope="col">Method and Description</th>
178</tr>
179<tr id="i0" class="altColor">
180<td class="colFirst"><code><a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a></code></td>
181<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getAgreement--">getAgreement</a></span>()</code>&nbsp;</td>
182</tr>
183<tr id="i1" class="rowColor">
184<td class="colFirst"><code>double</code></td>
185<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getDistanceToNash--">getDistanceToNash</a></span>()</code>&nbsp;</td>
186</tr>
187<tr id="i2" class="altColor">
188<td class="colFirst"><code>double</code></td>
189<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getDistanceToPareto--">getDistanceToPareto</a></span>()</code>&nbsp;</td>
190</tr>
191<tr id="i3" class="rowColor">
192<td class="colFirst"><code><a href="../../../genius/core/analysis/BidPoint.html" title="class in genius.core.analysis">BidPoint</a></code></td>
193<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getKalaiPoint--">getKalaiPoint</a></span>()</code>&nbsp;</td>
194</tr>
195<tr id="i4" class="altColor">
196<td class="colFirst"><code><a href="../../../genius/core/analysis/BidPoint.html" title="class in genius.core.analysis">BidPoint</a></code></td>
197<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getNashPoint--">getNashPoint</a></span>()</code>&nbsp;</td>
198</tr>
199<tr id="i5" class="rowColor">
200<td class="colFirst"><code>java.util.List&lt;<a href="../../../genius/core/analysis/BidPoint.html" title="class in genius.core.analysis">BidPoint</a>&gt;</code></td>
201<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getParetoFrontier--">getParetoFrontier</a></span>()</code>
202<div class="block">Returns the Pareto frontier.</div>
203</td>
204</tr>
205<tr id="i6" class="altColor">
206<td class="colFirst"><code>java.util.List&lt;<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&gt;</code></td>
207<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getParetoFrontierBids--">getParetoFrontierBids</a></span>()</code>
208<div class="block">Method which returns a list of the Pareto efficient bids.</div>
209</td>
210</tr>
211<tr id="i7" class="rowColor">
212<td class="colFirst"><code>static java.util.ArrayList&lt;double[][]&gt;</code></td>
213<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getPartyBidSeries-java.util.ArrayList-">getPartyBidSeries</a></span>(java.util.ArrayList&lt;java.util.ArrayList&lt;java.lang.Double[]&gt;&gt;&nbsp;partyUtilityHistoryList)</code>&nbsp;</td>
214</tr>
215<tr id="i8" class="altColor">
216<td class="colFirst"><code>double</code></td>
217<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getSocialWelfare--">getSocialWelfare</a></span>()</code>&nbsp;</td>
218</tr>
219<tr id="i9" class="rowColor">
220<td class="colFirst"><code>java.util.List&lt;<a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a>&gt;</code></td>
221<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/analysis/MultilateralAnalysis.html#getUtilitySpaces--">getUtilitySpaces</a></span>()</code>&nbsp;</td>
222</tr>
223</table>
224<ul class="blockList">
225<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
226<!-- -->
227</a>
228<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
229<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
230</ul>
231</li>
232</ul>
233</li>
234</ul>
235</div>
236<div class="details">
237<ul class="blockList">
238<li class="blockList">
239<!-- ============ FIELD DETAIL =========== -->
240<ul class="blockList">
241<li class="blockList"><a name="field.detail">
242<!-- -->
243</a>
244<h3>Field Detail</h3>
245<a name="ENUMERATION_CUTOFF">
246<!-- -->
247</a>
248<ul class="blockListLast">
249<li class="blockList">
250<h4>ENUMERATION_CUTOFF</h4>
251<pre>public static final&nbsp;int ENUMERATION_CUTOFF</pre>
252<div class="block">Maximum number of bids to analyse</div>
253<dl>
254<dt><span class="seeLabel">See Also:</span></dt>
255<dd><a href="../../../constant-values.html#genius.core.analysis.MultilateralAnalysis.ENUMERATION_CUTOFF">Constant Field Values</a></dd>
256</dl>
257</li>
258</ul>
259</li>
260</ul>
261<!-- ========= CONSTRUCTOR DETAIL ======== -->
262<ul class="blockList">
263<li class="blockList"><a name="constructor.detail">
264<!-- -->
265</a>
266<h3>Constructor Detail</h3>
267<a name="MultilateralAnalysis-java.util.List-genius.core.Bid-java.lang.Double-">
268<!-- -->
269</a>
270<ul class="blockListLast">
271<li class="blockList">
272<h4>MultilateralAnalysis</h4>
273<pre>public&nbsp;MultilateralAnalysis(java.util.List&lt;? extends <a href="../../../genius/core/parties/PartyWithUtility.html" title="interface in genius.core.parties">PartyWithUtility</a>&gt;&nbsp;parties,
274 <a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;agreedBid,
275 java.lang.Double&nbsp;endTime)</pre>
276<dl>
277<dt><span class="paramLabel">Parameters:</span></dt>
278<dd><code>parties</code> - </dd>
279<dd><code>agreedBid</code> - agreement, or null if there is no agreement.</dd>
280<dd><code>endTime</code> - the time in range [0,1] at which the negotiation ended where 0
281 is the start and 1 the deadline time/round. If null,
282 undiscounted utilities will be used.</dd>
283</dl>
284</li>
285</ul>
286</li>
287</ul>
288<!-- ============ METHOD DETAIL ========== -->
289<ul class="blockList">
290<li class="blockList"><a name="method.detail">
291<!-- -->
292</a>
293<h3>Method Detail</h3>
294<a name="getPartyBidSeries-java.util.ArrayList-">
295<!-- -->
296</a>
297<ul class="blockList">
298<li class="blockList">
299<h4>getPartyBidSeries</h4>
300<pre>public static&nbsp;java.util.ArrayList&lt;double[][]&gt;&nbsp;getPartyBidSeries(java.util.ArrayList&lt;java.util.ArrayList&lt;java.lang.Double[]&gt;&gt;&nbsp;partyUtilityHistoryList)</pre>
301</li>
302</ul>
303<a name="getUtilitySpaces--">
304<!-- -->
305</a>
306<ul class="blockList">
307<li class="blockList">
308<h4>getUtilitySpaces</h4>
309<pre>public&nbsp;java.util.List&lt;<a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a>&gt;&nbsp;getUtilitySpaces()</pre>
310</li>
311</ul>
312<a name="getParetoFrontier--">
313<!-- -->
314</a>
315<ul class="blockList">
316<li class="blockList">
317<h4>getParetoFrontier</h4>
318<pre>public&nbsp;java.util.List&lt;<a href="../../../genius/core/analysis/BidPoint.html" title="class in genius.core.analysis">BidPoint</a>&gt;&nbsp;getParetoFrontier()</pre>
319<div class="block">Returns the Pareto frontier. If the Pareto frontier is unknown, then it
320 is computed using an efficient algorithm. If the utility space contains
321 more than 500000 bids, then a suboptimal algorithm is used.</div>
322<dl>
323<dt><span class="returnLabel">Returns:</span></dt>
324<dd>The Pareto frontier. The order is ascending utilityA.</dd>
325</dl>
326</li>
327</ul>
328<a name="getParetoFrontierBids--">
329<!-- -->
330</a>
331<ul class="blockList">
332<li class="blockList">
333<h4>getParetoFrontierBids</h4>
334<pre>public&nbsp;java.util.List&lt;<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&gt;&nbsp;getParetoFrontierBids()</pre>
335<div class="block">Method which returns a list of the Pareto efficient bids.</div>
336<dl>
337<dt><span class="returnLabel">Returns:</span></dt>
338<dd>Pareto-efficient bids.</dd>
339</dl>
340</li>
341</ul>
342<a name="getSocialWelfare--">
343<!-- -->
344</a>
345<ul class="blockList">
346<li class="blockList">
347<h4>getSocialWelfare</h4>
348<pre>public&nbsp;double&nbsp;getSocialWelfare()</pre>
349</li>
350</ul>
351<a name="getDistanceToNash--">
352<!-- -->
353</a>
354<ul class="blockList">
355<li class="blockList">
356<h4>getDistanceToNash</h4>
357<pre>public&nbsp;double&nbsp;getDistanceToNash()</pre>
358<dl>
359<dt><span class="returnLabel">Returns:</span></dt>
360<dd>distance of agreement to nash point</dd>
361</dl>
362</li>
363</ul>
364<a name="getDistanceToPareto--">
365<!-- -->
366</a>
367<ul class="blockList">
368<li class="blockList">
369<h4>getDistanceToPareto</h4>
370<pre>public&nbsp;double&nbsp;getDistanceToPareto()</pre>
371<dl>
372<dt><span class="returnLabel">Returns:</span></dt>
373<dd>distance of agreement to pareto frontier, or
374 <code>Double.POSITIVE_INFINITY</code> if there is no pareto frontier.</dd>
375</dl>
376</li>
377</ul>
378<a name="getNashPoint--">
379<!-- -->
380</a>
381<ul class="blockList">
382<li class="blockList">
383<h4>getNashPoint</h4>
384<pre>public&nbsp;<a href="../../../genius/core/analysis/BidPoint.html" title="class in genius.core.analysis">BidPoint</a>&nbsp;getNashPoint()</pre>
385</li>
386</ul>
387<a name="getKalaiPoint--">
388<!-- -->
389</a>
390<ul class="blockList">
391<li class="blockList">
392<h4>getKalaiPoint</h4>
393<pre>public&nbsp;<a href="../../../genius/core/analysis/BidPoint.html" title="class in genius.core.analysis">BidPoint</a>&nbsp;getKalaiPoint()</pre>
394<dl>
395<dt><span class="returnLabel">Returns:</span></dt>
396<dd>kalai-smorodinsky point, or BidPoint(null, 0,0) if utilspace is
397 empty.</dd>
398</dl>
399</li>
400</ul>
401<a name="getAgreement--">
402<!-- -->
403</a>
404<ul class="blockListLast">
405<li class="blockList">
406<h4>getAgreement</h4>
407<pre>public&nbsp;<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;getAgreement()</pre>
408<dl>
409<dt><span class="returnLabel">Returns:</span></dt>
410<dd>agreement, or null if there is no agreement</dd>
411</dl>
412</li>
413</ul>
414</li>
415</ul>
416</li>
417</ul>
418</div>
419</div>
420<!-- ========= END OF CLASS DATA ========= -->
421<!-- ======= START OF BOTTOM NAVBAR ====== -->
422<div class="bottomNav"><a name="navbar.bottom">
423<!-- -->
424</a>
425<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
426<a name="navbar.bottom.firstrow">
427<!-- -->
428</a>
429<ul class="navList" title="Navigation">
430<li><a href="../../../overview-summary.html">Overview</a></li>
431<li><a href="package-summary.html">Package</a></li>
432<li class="navBarCell1Rev">Class</li>
433<li><a href="class-use/MultilateralAnalysis.html">Use</a></li>
434<li><a href="package-tree.html">Tree</a></li>
435<li><a href="../../../deprecated-list.html">Deprecated</a></li>
436<li><a href="../../../index-all.html">Index</a></li>
437<li><a href="../../../help-doc.html">Help</a></li>
438</ul>
439</div>
440<div class="subNav">
441<ul class="navList">
442<li><a href="../../../genius/core/analysis/BidSpaceCache.html" title="class in genius.core.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
443<li><a href="../../../genius/core/analysis/ParetoFrontier.html" title="class in genius.core.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
444</ul>
445<ul class="navList">
446<li><a href="../../../index.html?genius/core/analysis/MultilateralAnalysis.html" target="_top">Frames</a></li>
447<li><a href="MultilateralAnalysis.html" target="_top">No&nbsp;Frames</a></li>
448</ul>
449<ul class="navList" id="allclasses_navbar_bottom">
450<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
451</ul>
452<div>
453<script type="text/javascript"><!--
454 allClassesLink = document.getElementById("allclasses_navbar_bottom");
455 if(window==top) {
456 allClassesLink.style.display = "block";
457 }
458 else {
459 allClassesLink.style.display = "none";
460 }
461 //-->
462</script>
463</div>
464<div>
465<ul class="subNavList">
466<li>Summary:&nbsp;</li>
467<li>Nested&nbsp;|&nbsp;</li>
468<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
469<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
470<li><a href="#method.summary">Method</a></li>
471</ul>
472<ul class="subNavList">
473<li>Detail:&nbsp;</li>
474<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
475<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
476<li><a href="#method.detail">Method</a></li>
477</ul>
478</div>
479<a name="skip.navbar.bottom">
480<!-- -->
481</a></div>
482<!-- ======== END OF BOTTOM NAVBAR ======= -->
483</body>
484</html>
Note: See TracBrowser for help on using the repository browser.