Changeset 8 for exampleparties


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

Added parameter support

Location:
exampleparties
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • exampleparties/randomparty/src/test/java/geniusweb/exampleparties/randomparty/RandomPartyTest.java

    r1 r8  
    4444import geniusweb.profile.utilityspace.LinearAdditiveUtilitySpace;
    4545import geniusweb.progress.ProgressRounds;
     46import geniusweb.references.Parameters;
    4647import geniusweb.references.ProfileRef;
    4748import geniusweb.references.ProtocolRef;
     
    5859
    5960        private RandomParty party;
    60         private TestConnection connection = new TestConnection();
    61         private ProtocolRef protocol = mock(ProtocolRef.class);
    62         private ProgressRounds progress = mock(ProgressRounds.class);
     61        private final TestConnection connection = new TestConnection();
     62        private final ProtocolRef protocol = mock(ProtocolRef.class);
     63        private final ProgressRounds progress = mock(ProgressRounds.class);
    6364        private Settings settings;
    6465        private LinearAdditiveUtilitySpace profile;
     66        private final Parameters parameters = new Parameters();
    6567
    6668        @Before
     
    6971                party = new RandomParty();
    7072                settings = new Settings(new PartyId("party1"),
    71                                 new ProfileRef(new URI("file:" + PROFILE)), protocol, progress);
     73                                new ProfileRef(new URI("file:" + PROFILE)), protocol, progress,
     74                                parameters);
    7275
    7376                String serialized = new String(Files.readAllBytes(Paths.get(PROFILE)),
  • exampleparties/randompartypy/src/test/java/geniusweb/exampleparties/randompartypy/RandomPartyTest.java

    r1 r8  
    4242import geniusweb.progress.ProgressRounds;
    4343import geniusweb.pythonadapter.PythonPartyAdapter;
     44import geniusweb.references.Parameters;
    4445import geniusweb.references.ProfileRef;
    4546import geniusweb.references.ProtocolRef;
     
    5657        private PythonPartyAdapter party;
    5758        private TestConnection connection = new TestConnection();
    58         private ProtocolRef protocol = mock(ProtocolRef.class);
    59         private ProgressRounds progress = mock(ProgressRounds.class);
     59        private final ProtocolRef protocol = mock(ProtocolRef.class);
     60        private final ProgressRounds progress = mock(ProgressRounds.class);
    6061        private Settings settings;
     62        private final Parameters parameters = new Parameters();
    6163
    6264        private LinearAdditiveUtilitySpace profile; // the real profile
     
    7476                };
    7577                settings = new Settings(new PartyId("party1"),
    76                                 new ProfileRef(new URI("file:" + PROFILE)), protocol, progress);
     78                                new ProfileRef(new URI("file:" + PROFILE)), protocol, progress,
     79                                parameters);
    7780                String serialized = new String(Files.readAllBytes(Paths.get(PROFILE)),
    7881                                StandardCharsets.UTF_8);
  • exampleparties/timedependentparty/pom.xml

    r6 r8  
    171171                                </executions>
    172172                        </plugin>
     173                       
     174                        <plugin>
     175                                <groupId>org.apache.maven.plugins</groupId>
     176                                <artifactId>maven-jar-plugin</artifactId>
     177                                <configuration>
     178                                        <archive>
     179                                                <manifest>
     180                                                        <mainClass>geniusweb.exampleparties.timedependentparty.TimeDependentParty</mainClass>
     181                                                </manifest>
     182                                        </archive>
     183                                </configuration>
     184                        </plugin>
    173185
    174186                        <plugin>
     
    212224                        </plugin>
    213225
    214 
     226                        <plugin>
     227                                <groupId>org.apache.maven.plugins</groupId>
     228                                <artifactId>maven-assembly-plugin</artifactId>
     229                                <version>2.4.1</version>
     230                                <configuration>
     231                                        <!-- get all project dependencies -->
     232                                        <descriptorRefs>
     233                                                <descriptorRef>jar-with-dependencies</descriptorRef>
     234                                        </descriptorRefs>
     235                                        <archive>
     236                                                <manifest>
     237                                                        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
     238                                                        <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
     239                                                        <mainClass>geniusweb.exampleparties.timedependentparty.TimeDependentParty</mainClass>
     240                                                </manifest>
     241                                        </archive>
     242                                </configuration>
     243                                <executions>
     244                                        <execution>
     245                                                <id>make-assembly</id>
     246                                                <!-- bind to the packaging phase -->
     247                                                <phase>package</phase>
     248                                                <goals>
     249                                                        <goal>single</goal>
     250                                                </goals>
     251                                        </execution>
     252                                </executions>
     253                        </plugin>
    215254
    216255                </plugins>
  • 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}
  • exampleparties/timedependentparty/src/test/java/geniusweb/exampleparties/timedependentparty/TimeDependentPartyTest.java

    r3 r8  
    4444import geniusweb.profile.utilityspace.LinearAdditiveUtilitySpace;
    4545import geniusweb.progress.ProgressRounds;
     46import geniusweb.references.Parameters;
    4647import geniusweb.references.ProfileRef;
    4748import geniusweb.references.ProtocolRef;
     
    6162        private ProtocolRef protocol = mock(ProtocolRef.class);
    6263        private ProgressRounds progress = mock(ProgressRounds.class);
     64        private Parameters parameters = new Parameters();
    6365        private Settings settings;
    6466        private LinearAdditiveUtilitySpace profile;
     
    8082                };
    8183                settings = new Settings(new PartyId("party1"),
    82                                 new ProfileRef(new URI("file:" + PROFILE)), protocol, progress);
     84                                new ProfileRef(new URI("file:" + PROFILE)), protocol, progress,
     85                                parameters);
    8386
    8487                String serialized = new String(Files.readAllBytes(Paths.get(PROFILE)),
Note: See TracChangeset for help on using the changeset viewer.