Ignore:
Timestamp:
09/30/19 15:37:05 (5 years ago)
Author:
bart
Message:

Added parameter support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • exampleparties/timedependentparty/src/main/java/geniusweb/exampleparties/timedependentparty/TimeDependentParty.java

    r4 r8  
    3939 * on bidspaces > 10000 bids. In special cases it may even run out of memory,
    4040 */
    41 public abstract class TimeDependentParty extends DefaultParty {
     41public class TimeDependentParty extends DefaultParty {
    4242
    4343        private static final BigDecimal DEC0001 = new BigDecimal("0.0001");
     
    4949        private Bid lastReceivedBid = null;
    5050        private ExtendedUtilSpace extendedspace;
     51        private double e = 1.2;
    5152
    5253        public TimeDependentParty() {
     
    7980                                this.me = settings.getID();
    8081                                this.progress = settings.getProgress();
     82                                Object newe = settings.getParemeters().get("e");
     83                                if (newe != null) {
     84                                        if (newe instanceof Double) {
     85                                                this.e = (Double) newe;
     86                                        } else {
     87                                                getReporter().log(Level.WARNING,
     88                                                                "parameter e should be Double but found "
     89                                                                                + newe);
     90                                        }
     91                                }
     92
    8193                        } else if (info instanceof ActionDone) {
    8294                                Action otheract = ((ActionDone) info).getAction();
     
    113125         *         4. When e = 0, the agent plays hardball.
    114126         */
    115         public abstract double getE();
     127        public double getE() {
     128                return e;
     129        }
    116130
    117131        /******************* private support funcs ************************/
     
    177191                                                .min(maxUtil).max(minUtil);
    178192        }
     193
     194        @Override
     195        public String getDescription() {
     196                return "Time-dependent conceder. Aims at utility u(t) = scale * t^(1/e) "
     197                                + "where t is the time (0=start, 1=end), e is a parameter (default 1.1), and scale such that u(0)=minimum and "
     198                                + "u(1) = maximum possible utility. ";
     199        }
    179200}
Note: See TracChangeset for help on using the changeset viewer.