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:
1.4 KB
|
Line | |
---|
1 | package parties.in4010.q12015.group7;
|
---|
2 |
|
---|
3 | import java.util.ArrayList;
|
---|
4 | import java.util.HashMap;
|
---|
5 | import java.util.Random;
|
---|
6 | import java.util.Set;
|
---|
7 |
|
---|
8 | import genius.core.Bid;
|
---|
9 |
|
---|
10 | /**
|
---|
11 | * Implements a HashMap in which all bids in a bidSpace can be saved
|
---|
12 | *
|
---|
13 | * @author svanbekhoven
|
---|
14 | *
|
---|
15 | */
|
---|
16 | public class BidSpace {
|
---|
17 | /**
|
---|
18 | * HashMap with bid possibilities
|
---|
19 | */
|
---|
20 | public HashMap<Double, Bid> bidSpace;
|
---|
21 |
|
---|
22 | /**
|
---|
23 | * Constructor
|
---|
24 | */
|
---|
25 | public BidSpace() {
|
---|
26 | bidSpace = new HashMap<Double, Bid>();
|
---|
27 | }
|
---|
28 |
|
---|
29 | /**
|
---|
30 | * Add a bid to the bidspace
|
---|
31 | *
|
---|
32 | * @param bid
|
---|
33 | * @param util
|
---|
34 | */
|
---|
35 | public void add(Bid bid, double util) {
|
---|
36 | bidSpace.put(util, bid);
|
---|
37 | }
|
---|
38 |
|
---|
39 | /**
|
---|
40 | * Returns a list with all bids between an min and max utility
|
---|
41 | *
|
---|
42 | * @param minUtility
|
---|
43 | * @param maxUtility
|
---|
44 | * @return
|
---|
45 | */
|
---|
46 | public ArrayList<Bid> getBids(double minUtility, double maxUtility) {
|
---|
47 | ArrayList<Bid> bids = new ArrayList<Bid>();
|
---|
48 | Set<Double> keys = bidSpace.keySet();
|
---|
49 | for (Double key : keys) {
|
---|
50 | if (key >= minUtility && key <= maxUtility) {
|
---|
51 | bids.add(new Bid(bidSpace.get(key)));
|
---|
52 | }
|
---|
53 | }
|
---|
54 |
|
---|
55 | return bids;
|
---|
56 | }
|
---|
57 |
|
---|
58 | /**
|
---|
59 | * Generate a pseudo-random bid between a min and max utility
|
---|
60 | *
|
---|
61 | * @param minUtility
|
---|
62 | * @param maxUtility
|
---|
63 | * @return
|
---|
64 | */
|
---|
65 | public Bid generatePseudoRandomBid(double minUtility, double maxUtility) {
|
---|
66 | ArrayList<Bid> bids = getBids(minUtility, maxUtility);
|
---|
67 |
|
---|
68 | return new Bid(bids.get(new Random().nextInt(bids.size())));
|
---|
69 | }
|
---|
70 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.