source: src/main/java/genius/core/Domain.java

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

Initial import : Genius 9.0.0

File size: 985 bytes
Line 
1package genius.core;
2
3import java.util.List;
4import java.util.Random;
5
6import genius.core.issue.Issue;
7import genius.core.issue.Objective;
8
9/**
10 *
11 * @author W.Pasman
12 *
13 */
14public interface Domain {
15
16 /**
17 * @return all objectives (note, {@link Issue} is an {@link Objective}) in
18 * the domain.
19 */
20 List<Objective> getObjectives();
21
22 /**
23 * @return the highest level {@link Objective}.
24 */
25 Objective getObjectivesRoot();
26
27 /**
28 *
29 * @return All {@link Issue}s in the domain, sorted to preorder.This may be
30 * computationally expensive
31 */
32 List<Issue> getIssues();
33
34 /**
35 * @param r
36 * random variable. if null, a new {@link Random} will be used.
37 * @return a random {@link Bid} in this domain.
38 */
39 Bid getRandomBid(Random r);
40
41 /**
42 *
43 * @return number of all possible bids in the domain. Does not care of
44 * constraints.
45 */
46 long getNumberOfPossibleBids();
47
48 /**
49 * @return name of this domain.
50 */
51 String getName();
52
53}
Note: See TracBrowser for help on using the repository browser.