source: javadoc/genius/core/utility/AbstractUtilitySpace.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: 33.3 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:58 CEST 2018 -->
6<title>AbstractUtilitySpace (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="AbstractUtilitySpace (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":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
22var tabs = {65535:["t0","All 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/AbstractUtilitySpace.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>Prev&nbsp;Class</li>
53<li><a href="../../../genius/core/utility/AdditiveUtilitySpace.html" title="class in genius.core.utility"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
54</ul>
55<ul class="navList">
56<li><a href="../../../index.html?genius/core/utility/AbstractUtilitySpace.html" target="_top">Frames</a></li>
57<li><a href="AbstractUtilitySpace.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.utility</div>
96<h2 title="Class AbstractUtilitySpace" class="title">Class AbstractUtilitySpace</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.utility.AbstractUtilitySpace</li>
104</ul>
105</li>
106</ul>
107<div class="description">
108<ul class="blockList">
109<li class="blockList">
110<dl>
111<dt>All Implemented Interfaces:</dt>
112<dd><a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a>, java.io.Serializable</dd>
113</dl>
114<dl>
115<dt>Direct Known Subclasses:</dt>
116<dd><a href="../../../genius/core/utility/AdditiveUtilitySpace.html" title="class in genius.core.utility">AdditiveUtilitySpace</a>, <a href="../../../genius/core/utility/ConstraintUtilitySpace.html" title="class in genius.core.utility">ConstraintUtilitySpace</a>, <a href="../../../genius/core/uncertainty/flattening/FlattenedUtilitySpace.html" title="class in genius.core.uncertainty.flattening">FlattenedUtilitySpace</a>, <a href="../../../genius/core/utility/NonlinearUtilitySpace.html" title="class in genius.core.utility">NonlinearUtilitySpace</a>, <a href="../../../genius/core/representative/UncertainUtilitySpace.html" title="class in genius.core.representative">UncertainUtilitySpace</a></dd>
117</dl>
118<hr>
119<br>
120<pre>public abstract class <span class="typeNameLabel">AbstractUtilitySpace</span>
121extends java.lang.Object
122implements <a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a></pre>
123<div class="block">Implements the basic functionality of <a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility"><code>UtilitySpace</code></a> but does not
124 implement the details. Adds the discountFactor as a mechanism to implement
125 discount. A filename is remembered. Also adds default functionality to
126 support implementation of concrete utility spaces.
127
128 In the future this class may have to be split in more parts.</div>
129<dl>
130<dt><span class="simpleTagLabel">Author:</span></dt>
131<dd>W.Pasman 5nov15 (refactor from old code).</dd>
132<dt><span class="seeLabel">See Also:</span></dt>
133<dd><a href="../../../serialized-form.html#genius.core.utility.AbstractUtilitySpace">Serialized Form</a></dd>
134</dl>
135</li>
136</ul>
137</div>
138<div class="summary">
139<ul class="blockList">
140<li class="blockList">
141<!-- =========== FIELD SUMMARY =========== -->
142<ul class="blockList">
143<li class="blockList"><a name="field.summary">
144<!-- -->
145</a>
146<h3>Field Summary</h3>
147<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
148<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
149<tr>
150<th class="colFirst" scope="col">Modifier and Type</th>
151<th class="colLast" scope="col">Field and Description</th>
152</tr>
153<tr class="altColor">
154<td class="colFirst"><code>static java.lang.String</code></td>
155<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#DISCOUNT_FACTOR">DISCOUNT_FACTOR</a></span></code>&nbsp;</td>
156</tr>
157<tr class="rowColor">
158<td class="colFirst"><code>protected java.lang.String</code></td>
159<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#fileName">fileName</a></span></code>&nbsp;</td>
160</tr>
161<tr class="altColor">
162<td class="colFirst"><code>static java.lang.String</code></td>
163<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#RESERVATION">RESERVATION</a></span></code>&nbsp;</td>
164</tr>
165</table>
166</li>
167</ul>
168<!-- ======== CONSTRUCTOR SUMMARY ======== -->
169<ul class="blockList">
170<li class="blockList"><a name="constructor.summary">
171<!-- -->
172</a>
173<h3>Constructor Summary</h3>
174<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
175<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
176<tr>
177<th class="colOne" scope="col">Constructor and Description</th>
178</tr>
179<tr class="altColor">
180<td class="colOne"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#AbstractUtilitySpace-genius.core.Domain-">AbstractUtilitySpace</a></span>(<a href="../../../genius/core/Domain.html" title="interface in genius.core">Domain</a>&nbsp;dom)</code>
181<div class="block">sets domain and tries to load the file into XML root.</div>
182</td>
183</tr>
184</table>
185</li>
186</ul>
187<!-- ========== METHOD SUMMARY =========== -->
188<ul class="blockList">
189<li class="blockList"><a name="method.summary">
190<!-- -->
191</a>
192<h3>Method Summary</h3>
193<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
194<caption><span id="t0" class="activeTableTab"><span>All Methods</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>
195<tr>
196<th class="colFirst" scope="col">Modifier and Type</th>
197<th class="colLast" scope="col">Method and Description</th>
198</tr>
199<tr id="i0" class="altColor">
200<td class="colFirst"><code>void</code></td>
201<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#checkReadyForNegotiation-genius.core.Domain-">checkReadyForNegotiation</a></span>(<a href="../../../genius/core/Domain.html" title="interface in genius.core">Domain</a>&nbsp;dom)</code>
202<div class="block">Check if this utility space is ready for negotiation.</div>
203</td>
204</tr>
205<tr id="i1" class="rowColor">
206<td class="colFirst"><code>java.lang.Double</code></td>
207<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#discount-double-double-">discount</a></span>(double&nbsp;util,
208 double&nbsp;time)</code>
209<div class="block">Specific implementation for discount, based on a discount factor.</div>
210</td>
211</tr>
212<tr id="i2" class="altColor">
213<td class="colFirst"><code>double</code></td>
214<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getDiscountFactor--">getDiscountFactor</a></span>()</code>&nbsp;</td>
215</tr>
216<tr id="i3" class="rowColor">
217<td class="colFirst"><code><a href="../../../genius/core/Domain.html" title="interface in genius.core">Domain</a></code></td>
218<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getDomain--">getDomain</a></span>()</code>&nbsp;</td>
219</tr>
220<tr id="i4" class="altColor">
221<td class="colFirst"><code>java.lang.String</code></td>
222<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getFileName--">getFileName</a></span>()</code>&nbsp;</td>
223</tr>
224<tr id="i5" class="rowColor">
225<td class="colFirst"><code><a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a></code></td>
226<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getMaxUtilityBid--">getMaxUtilityBid</a></span>()</code>
227<div class="block">Returns the maximum bid in the utility space.</div>
228</td>
229</tr>
230<tr id="i6" class="altColor">
231<td class="colFirst"><code><a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a></code></td>
232<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getMinUtilityBid--">getMinUtilityBid</a></span>()</code>
233<div class="block">Returns the worst bid in the utility space.</div>
234</td>
235</tr>
236<tr id="i7" class="rowColor">
237<td class="colFirst"><code>java.lang.String</code></td>
238<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getName--">getName</a></span>()</code>&nbsp;</td>
239</tr>
240<tr id="i8" class="altColor">
241<td class="colFirst"><code>java.lang.Double</code></td>
242<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--">getReservationValue</a></span>()</code>
243<div class="block">The reservation value is the least favourable point at which one will
244 accept a negotiated agreement.</div>
245</td>
246</tr>
247<tr id="i9" class="rowColor">
248<td class="colFirst"><code>double</code></td>
249<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValueUndiscounted--">getReservationValueUndiscounted</a></span>()</code>
250<div class="block">Equivalent to <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a>, but always returns a double
251 value.</div>
252</td>
253</tr>
254<tr id="i10" class="altColor">
255<td class="colFirst"><code>double</code></td>
256<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValueWithDiscount-double-">getReservationValueWithDiscount</a></span>(double&nbsp;time)</code>
257<div class="block">The discounted version of <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a>.</div>
258</td>
259</tr>
260<tr id="i11" class="rowColor">
261<td class="colFirst"><code>double</code></td>
262<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValueWithDiscount-genius.core.timeline.TimeLineInfo-">getReservationValueWithDiscount</a></span>(<a href="../../../genius/core/timeline/TimeLineInfo.html" title="interface in genius.core.timeline">TimeLineInfo</a>&nbsp;timeline)</code>
263<div class="block">The discounted version of <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a>.</div>
264</td>
265</tr>
266<tr id="i12" class="altColor">
267<td class="colFirst"><code>double</code></td>
268<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getUtilityWithDiscount-genius.core.Bid-double-">getUtilityWithDiscount</a></span>(<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;bid,
269 double&nbsp;time)</code>
270<div class="block">See <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getUtilityWithDiscount-genius.core.Bid-double-"><code>getUtilityWithDiscount(Bid, double)</code></a>.</div>
271</td>
272</tr>
273<tr id="i13" class="rowColor">
274<td class="colFirst"><code>double</code></td>
275<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getUtilityWithDiscount-genius.core.Bid-genius.core.timeline.TimeLineInfo-">getUtilityWithDiscount</a></span>(<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;bid,
276 <a href="../../../genius/core/timeline/TimeLineInfo.html" title="interface in genius.core.timeline">TimeLineInfo</a>&nbsp;timeline)</code>
277<div class="block">Let d in (0, 1) be the discount factor.</div>
278</td>
279</tr>
280<tr id="i14" class="altColor">
281<td class="colFirst"><code>boolean</code></td>
282<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#isDiscounted--">isDiscounted</a></span>()</code>&nbsp;</td>
283</tr>
284<tr id="i15" class="rowColor">
285<td class="colFirst"><code>void</code></td>
286<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#setDiscount-double-">setDiscount</a></span>(double&nbsp;newDiscount)</code>&nbsp;</td>
287</tr>
288<tr id="i16" class="altColor">
289<td class="colFirst"><code>void</code></td>
290<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#setReservationValue-double-">setReservationValue</a></span>(double&nbsp;newRV)</code>&nbsp;</td>
291</tr>
292<tr id="i17" class="rowColor">
293<td class="colFirst"><code>protected double</code></td>
294<td class="colLast"><code><span class="memberNameLink"><a href="../../../genius/core/utility/AbstractUtilitySpace.html#validateDiscount-double-">validateDiscount</a></span>(double&nbsp;df)</code>&nbsp;</td>
295</tr>
296</table>
297<ul class="blockList">
298<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
299<!-- -->
300</a>
301<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
302<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
303</ul>
304<ul class="blockList">
305<li class="blockList"><a name="methods.inherited.from.class.genius.core.utility.UtilitySpace">
306<!-- -->
307</a>
308<h3>Methods inherited from interface&nbsp;genius.core.utility.<a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a></h3>
309<code><a href="../../../genius/core/utility/UtilitySpace.html#copy--">copy</a>, <a href="../../../genius/core/utility/UtilitySpace.html#getUtility-genius.core.Bid-">getUtility</a>, <a href="../../../genius/core/utility/UtilitySpace.html#isComplete--">isComplete</a>, <a href="../../../genius/core/utility/UtilitySpace.html#toXML--">toXML</a></code></li>
310</ul>
311</li>
312</ul>
313</li>
314</ul>
315</div>
316<div class="details">
317<ul class="blockList">
318<li class="blockList">
319<!-- ============ FIELD DETAIL =========== -->
320<ul class="blockList">
321<li class="blockList"><a name="field.detail">
322<!-- -->
323</a>
324<h3>Field Detail</h3>
325<a name="DISCOUNT_FACTOR">
326<!-- -->
327</a>
328<ul class="blockList">
329<li class="blockList">
330<h4>DISCOUNT_FACTOR</h4>
331<pre>public static final&nbsp;java.lang.String DISCOUNT_FACTOR</pre>
332<dl>
333<dt><span class="seeLabel">See Also:</span></dt>
334<dd><a href="../../../constant-values.html#genius.core.utility.AbstractUtilitySpace.DISCOUNT_FACTOR">Constant Field Values</a></dd>
335</dl>
336</li>
337</ul>
338<a name="RESERVATION">
339<!-- -->
340</a>
341<ul class="blockList">
342<li class="blockList">
343<h4>RESERVATION</h4>
344<pre>public static final&nbsp;java.lang.String RESERVATION</pre>
345<dl>
346<dt><span class="seeLabel">See Also:</span></dt>
347<dd><a href="../../../constant-values.html#genius.core.utility.AbstractUtilitySpace.RESERVATION">Constant Field Values</a></dd>
348</dl>
349</li>
350</ul>
351<a name="fileName">
352<!-- -->
353</a>
354<ul class="blockListLast">
355<li class="blockList">
356<h4>fileName</h4>
357<pre>protected&nbsp;java.lang.String fileName</pre>
358</li>
359</ul>
360</li>
361</ul>
362<!-- ========= CONSTRUCTOR DETAIL ======== -->
363<ul class="blockList">
364<li class="blockList"><a name="constructor.detail">
365<!-- -->
366</a>
367<h3>Constructor Detail</h3>
368<a name="AbstractUtilitySpace-genius.core.Domain-">
369<!-- -->
370</a>
371<ul class="blockListLast">
372<li class="blockList">
373<h4>AbstractUtilitySpace</h4>
374<pre>public&nbsp;AbstractUtilitySpace(<a href="../../../genius/core/Domain.html" title="interface in genius.core">Domain</a>&nbsp;dom)</pre>
375<div class="block">sets domain and tries to load the file into XML root.</div>
376<dl>
377<dt><span class="paramLabel">Parameters:</span></dt>
378<dd><code>dom</code> - the <a href="../../../genius/core/Domain.html" title="interface in genius.core"><code>Domain</code></a> to load</dd>
379</dl>
380</li>
381</ul>
382</li>
383</ul>
384<!-- ============ METHOD DETAIL ========== -->
385<ul class="blockList">
386<li class="blockList"><a name="method.detail">
387<!-- -->
388</a>
389<h3>Method Detail</h3>
390<a name="getDomain--">
391<!-- -->
392</a>
393<ul class="blockList">
394<li class="blockList">
395<h4>getDomain</h4>
396<pre>public&nbsp;<a href="../../../genius/core/Domain.html" title="interface in genius.core">Domain</a>&nbsp;getDomain()</pre>
397<dl>
398<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
399<dd><code><a href="../../../genius/core/utility/UtilitySpace.html#getDomain--">getDomain</a></code>&nbsp;in interface&nbsp;<code><a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a></code></dd>
400<dt><span class="returnLabel">Returns:</span></dt>
401<dd>domain belonging to this preference profile.</dd>
402</dl>
403</li>
404</ul>
405<a name="setReservationValue-double-">
406<!-- -->
407</a>
408<ul class="blockList">
409<li class="blockList">
410<h4>setReservationValue</h4>
411<pre>public&nbsp;void&nbsp;setReservationValue(double&nbsp;newRV)</pre>
412<dl>
413<dt><span class="paramLabel">Parameters:</span></dt>
414<dd><code>newRV</code> - new reservation value.</dd>
415</dl>
416</li>
417</ul>
418<a name="setDiscount-double-">
419<!-- -->
420</a>
421<ul class="blockList">
422<li class="blockList">
423<h4>setDiscount</h4>
424<pre>public&nbsp;void&nbsp;setDiscount(double&nbsp;newDiscount)</pre>
425<dl>
426<dt><span class="paramLabel">Parameters:</span></dt>
427<dd><code>newDiscount</code> - new discount factor.</dd>
428</dl>
429</li>
430</ul>
431<a name="getReservationValue--">
432<!-- -->
433</a>
434<ul class="blockList">
435<li class="blockList">
436<h4>getReservationValue</h4>
437<pre>public&nbsp;java.lang.Double&nbsp;getReservationValue()</pre>
438<div class="block">The reservation value is the least favourable point at which one will
439 accept a negotiated agreement. Also sometimes referred to as the walk
440 away point.
441 <p>
442 This is value remains constant during the negotiation. However, by
443 default, the reservation value descreases with time. To obtain the
444 discounted version of the reservation value, use
445 <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValueWithDiscount-genius.core.timeline.TimeLineInfo-"><code>getReservationValueWithDiscount(TimeLineInfo)</code></a>.</div>
446<dl>
447<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
448<dd><code><a href="../../../genius/core/utility/UtilitySpace.html#getReservationValue--">getReservationValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a></code></dd>
449<dt><span class="returnLabel">Returns:</span></dt>
450<dd>undiscounted reservation value of the preference profile (may be
451 null).</dd>
452</dl>
453</li>
454</ul>
455<a name="getReservationValueUndiscounted--">
456<!-- -->
457</a>
458<ul class="blockList">
459<li class="blockList">
460<h4>getReservationValueUndiscounted</h4>
461<pre>public&nbsp;double&nbsp;getReservationValueUndiscounted()</pre>
462<div class="block">Equivalent to <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a>, but always returns a double
463 value. When the original reservation value is <b>null</b> it returns the
464 default value 0.</div>
465<dl>
466<dt><span class="returnLabel">Returns:</span></dt>
467<dd>undiscounted reservation value of the preference profile (never
468 null).</dd>
469<dt><span class="seeLabel">See Also:</span></dt>
470<dd><a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a></dd>
471</dl>
472</li>
473</ul>
474<a name="getReservationValueWithDiscount-double-">
475<!-- -->
476</a>
477<ul class="blockList">
478<li class="blockList">
479<h4>getReservationValueWithDiscount</h4>
480<pre>public&nbsp;double&nbsp;getReservationValueWithDiscount(double&nbsp;time)</pre>
481<div class="block">The discounted version of <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a>.</div>
482<dl>
483<dt><span class="paramLabel">Parameters:</span></dt>
484<dd><code>time</code> - at which we want to know the utility of the reservation value.</dd>
485<dt><span class="returnLabel">Returns:</span></dt>
486<dd>discounted reservation value.</dd>
487</dl>
488</li>
489</ul>
490<a name="getReservationValueWithDiscount-genius.core.timeline.TimeLineInfo-">
491<!-- -->
492</a>
493<ul class="blockList">
494<li class="blockList">
495<h4>getReservationValueWithDiscount</h4>
496<pre>public&nbsp;double&nbsp;getReservationValueWithDiscount(<a href="../../../genius/core/timeline/TimeLineInfo.html" title="interface in genius.core.timeline">TimeLineInfo</a>&nbsp;timeline)</pre>
497<div class="block">The discounted version of <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getReservationValue--"><code>getReservationValue()</code></a>.</div>
498<dl>
499<dt><span class="paramLabel">Parameters:</span></dt>
500<dd><code>timeline</code> - specifying the current time in the negotiation.</dd>
501<dt><span class="returnLabel">Returns:</span></dt>
502<dd>discounted reservation value.</dd>
503</dl>
504</li>
505</ul>
506<a name="isDiscounted--">
507<!-- -->
508</a>
509<ul class="blockList">
510<li class="blockList">
511<h4>isDiscounted</h4>
512<pre>public&nbsp;boolean&nbsp;isDiscounted()</pre>
513<dl>
514<dt><span class="returnLabel">Returns:</span></dt>
515<dd>true if the domain features discounts.</dd>
516</dl>
517</li>
518</ul>
519<a name="getDiscountFactor--">
520<!-- -->
521</a>
522<ul class="blockList">
523<li class="blockList">
524<h4>getDiscountFactor</h4>
525<pre>public final&nbsp;double&nbsp;getDiscountFactor()</pre>
526<dl>
527<dt><span class="returnLabel">Returns:</span></dt>
528<dd>Discount factor of this preference profile.</dd>
529</dl>
530</li>
531</ul>
532<a name="getFileName--">
533<!-- -->
534</a>
535<ul class="blockList">
536<li class="blockList">
537<h4>getFileName</h4>
538<pre>public&nbsp;java.lang.String&nbsp;getFileName()</pre>
539<dl>
540<dt><span class="returnLabel">Returns:</span></dt>
541<dd>filename of this preference profile.</dd>
542</dl>
543</li>
544</ul>
545<a name="getUtilityWithDiscount-genius.core.Bid-genius.core.timeline.TimeLineInfo-">
546<!-- -->
547</a>
548<ul class="blockList">
549<li class="blockList">
550<h4>getUtilityWithDiscount</h4>
551<pre>public&nbsp;double&nbsp;getUtilityWithDiscount(<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;bid,
552 <a href="../../../genius/core/timeline/TimeLineInfo.html" title="interface in genius.core.timeline">TimeLineInfo</a>&nbsp;timeline)</pre>
553<div class="block">Let d in (0, 1) be the discount factor. (If d &le; 0 or d &ge; 1, we
554 assume that d = 1.) Let t in [0, 1] be the current time, as defined by
555 the <a href="../../../genius/core/timeline/Timeline.html" title="class in genius.core.timeline"><code>Timeline</code></a>. We compute the <i>discounted</i> utility
556 discountedUtility as follows:
557
558 discountedUtility = originalUtility * d^t.
559
560 For t = 0 the utility remains unchanged, and for t = 1 the original
561 utility is multiplied by the discount factor. The effect is almost linear
562 in between. Works with any utility space.</div>
563<dl>
564<dt><span class="paramLabel">Parameters:</span></dt>
565<dd><code>bid</code> - of which we are interested in its utility.</dd>
566<dd><code>timeline</code> - indicating the time passed in the negotiation.</dd>
567<dt><span class="returnLabel">Returns:</span></dt>
568<dd>discounted utility.</dd>
569</dl>
570</li>
571</ul>
572<a name="getUtilityWithDiscount-genius.core.Bid-double-">
573<!-- -->
574</a>
575<ul class="blockList">
576<li class="blockList">
577<h4>getUtilityWithDiscount</h4>
578<pre>public&nbsp;double&nbsp;getUtilityWithDiscount(<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;bid,
579 double&nbsp;time)</pre>
580<div class="block">See <a href="../../../genius/core/utility/AbstractUtilitySpace.html#getUtilityWithDiscount-genius.core.Bid-double-"><code>getUtilityWithDiscount(Bid, double)</code></a>.</div>
581<dl>
582<dt><span class="paramLabel">Parameters:</span></dt>
583<dd><code>bid</code> - of which we want to know the utility at the given time.</dd>
584<dd><code>time</code> - at which we want to know the utility of the bid.</dd>
585<dt><span class="returnLabel">Returns:</span></dt>
586<dd>discounted utility.</dd>
587</dl>
588</li>
589</ul>
590<a name="discount-double-double-">
591<!-- -->
592</a>
593<ul class="blockList">
594<li class="blockList">
595<h4>discount</h4>
596<pre>public&nbsp;java.lang.Double&nbsp;discount(double&nbsp;util,
597 double&nbsp;time)</pre>
598<div class="block">Specific implementation for discount, based on a discount factor.
599 Computes:
600
601 discountedUtil = util * Math.pow(discount, time).
602
603 Checks for bounds on the discount factor and time.</div>
604<dl>
605<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
606<dd><code><a href="../../../genius/core/utility/UtilitySpace.html#discount-double-double-">discount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a></code></dd>
607<dt><span class="paramLabel">Parameters:</span></dt>
608<dd><code>util</code> - the undiscounted utility as coming from
609 <a href="../../../genius/core/utility/UtilitySpace.html#getUtility-genius.core.Bid-"><code>UtilitySpace.getUtility(Bid)</code></a>.</dd>
610<dd><code>time</code> - a real number in the range [0,1] where 0 is the start of the
611 negotiation and 1 the end. See also <a href="../../../genius/core/timeline/TimeLineInfo.html" title="interface in genius.core.timeline"><code>TimeLineInfo</code></a>.</dd>
612<dt><span class="returnLabel">Returns:</span></dt>
613<dd>the time-discounted utility at given time.</dd>
614</dl>
615</li>
616</ul>
617<a name="validateDiscount-double-">
618<!-- -->
619</a>
620<ul class="blockList">
621<li class="blockList">
622<h4>validateDiscount</h4>
623<pre>protected&nbsp;double&nbsp;validateDiscount(double&nbsp;df)</pre>
624</li>
625</ul>
626<a name="getMaxUtilityBid--">
627<!-- -->
628</a>
629<ul class="blockList">
630<li class="blockList">
631<h4>getMaxUtilityBid</h4>
632<pre>public final&nbsp;<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;getMaxUtilityBid()
633 throws java.lang.Exception</pre>
634<div class="block">Returns the maximum bid in the utility space. This is only supported for
635 linear utility spaces. Totally revised, brute-force search now.</div>
636<dl>
637<dt><span class="returnLabel">Returns:</span></dt>
638<dd>a bid with the maximum utility value attainable in this util
639 space</dd>
640<dt><span class="throwsLabel">Throws:</span></dt>
641<dd><code>java.lang.Exception</code> - if there is no bid at all in this util space.</dd>
642</dl>
643</li>
644</ul>
645<a name="getMinUtilityBid--">
646<!-- -->
647</a>
648<ul class="blockList">
649<li class="blockList">
650<h4>getMinUtilityBid</h4>
651<pre>public&nbsp;<a href="../../../genius/core/Bid.html" title="class in genius.core">Bid</a>&nbsp;getMinUtilityBid()
652 throws java.lang.Exception</pre>
653<div class="block">Returns the worst bid in the utility space. This is only supported for
654 linear utility spaces.</div>
655<dl>
656<dt><span class="returnLabel">Returns:</span></dt>
657<dd>a bid with the lowest possible utility</dd>
658<dt><span class="throwsLabel">Throws:</span></dt>
659<dd><code>java.lang.Exception</code> - if there is no bid at all in the util space</dd>
660</dl>
661</li>
662</ul>
663<a name="checkReadyForNegotiation-genius.core.Domain-">
664<!-- -->
665</a>
666<ul class="blockList">
667<li class="blockList">
668<h4>checkReadyForNegotiation</h4>
669<pre>public&nbsp;void&nbsp;checkReadyForNegotiation(<a href="../../../genius/core/Domain.html" title="interface in genius.core">Domain</a>&nbsp;dom)
670 throws java.lang.Exception</pre>
671<div class="block">Check if this utility space is ready for negotiation. To be so, the
672 domain must match the given domain and the space must be complete.</div>
673<dl>
674<dt><span class="paramLabel">Parameters:</span></dt>
675<dd><code>dom</code> - is the domain in which nego is taking place</dd>
676<dt><span class="throwsLabel">Throws:</span></dt>
677<dd><code>java.lang.Exception</code> - if utility space is incomplete (@see isComplete())</dd>
678</dl>
679</li>
680</ul>
681<a name="getName--">
682<!-- -->
683</a>
684<ul class="blockListLast">
685<li class="blockList">
686<h4>getName</h4>
687<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
688<dl>
689<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
690<dd><code><a href="../../../genius/core/utility/UtilitySpace.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../genius/core/utility/UtilitySpace.html" title="interface in genius.core.utility">UtilitySpace</a></code></dd>
691<dt><span class="returnLabel">Returns:</span></dt>
692<dd>a simple name for easy reference. Typically the filename.</dd>
693</dl>
694</li>
695</ul>
696</li>
697</ul>
698</li>
699</ul>
700</div>
701</div>
702<!-- ========= END OF CLASS DATA ========= -->
703<!-- ======= START OF BOTTOM NAVBAR ====== -->
704<div class="bottomNav"><a name="navbar.bottom">
705<!-- -->
706</a>
707<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
708<a name="navbar.bottom.firstrow">
709<!-- -->
710</a>
711<ul class="navList" title="Navigation">
712<li><a href="../../../overview-summary.html">Overview</a></li>
713<li><a href="package-summary.html">Package</a></li>
714<li class="navBarCell1Rev">Class</li>
715<li><a href="class-use/AbstractUtilitySpace.html">Use</a></li>
716<li><a href="package-tree.html">Tree</a></li>
717<li><a href="../../../deprecated-list.html">Deprecated</a></li>
718<li><a href="../../../index-all.html">Index</a></li>
719<li><a href="../../../help-doc.html">Help</a></li>
720</ul>
721</div>
722<div class="subNav">
723<ul class="navList">
724<li>Prev&nbsp;Class</li>
725<li><a href="../../../genius/core/utility/AdditiveUtilitySpace.html" title="class in genius.core.utility"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
726</ul>
727<ul class="navList">
728<li><a href="../../../index.html?genius/core/utility/AbstractUtilitySpace.html" target="_top">Frames</a></li>
729<li><a href="AbstractUtilitySpace.html" target="_top">No&nbsp;Frames</a></li>
730</ul>
731<ul class="navList" id="allclasses_navbar_bottom">
732<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
733</ul>
734<div>
735<script type="text/javascript"><!--
736 allClassesLink = document.getElementById("allclasses_navbar_bottom");
737 if(window==top) {
738 allClassesLink.style.display = "block";
739 }
740 else {
741 allClassesLink.style.display = "none";
742 }
743 //-->
744</script>
745</div>
746<div>
747<ul class="subNavList">
748<li>Summary:&nbsp;</li>
749<li>Nested&nbsp;|&nbsp;</li>
750<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
751<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
752<li><a href="#method.summary">Method</a></li>
753</ul>
754<ul class="subNavList">
755<li>Detail:&nbsp;</li>
756<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
757<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
758<li><a href="#method.detail">Method</a></li>
759</ul>
760</div>
761<a name="skip.navbar.bottom">
762<!-- -->
763</a></div>
764<!-- ======== END OF BOTTOM NAVBAR ======= -->
765</body>
766</html>
Note: See TracBrowser for help on using the repository browser.