source: src/main/java/parties/in4010/q12015/group7/BidSpace.java@ 126

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

Initial import : Genius 9.0.0

File size: 1.4 KB
Line 
1package parties.in4010.q12015.group7;
2
3import java.util.ArrayList;
4import java.util.HashMap;
5import java.util.Random;
6import java.util.Set;
7
8import 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 */
16public 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.