How to use MERCATUS 2.0 for writing simulations

 

Step 1 : Initialize the Simulation Environment

 

// For Auction types: 0-FPA, 1-VA, 2-PMD, 4-TPD

//Parameters : Auction type, Resources, Users, Auction rounds, Bid Policy, delay

MercatusInterface.initialise(4, 15, 10, 25, 0, 0.0001 );

 

// For Auction types: 5-Round Robin, 6-CDA

//Parameters : Auction type, Resources, Users, Auction rounds,  delay

MercatusInterface.initialise(5, 15, 10, 0.0001);

 

Step 2 : Add Users and define their attributes

 

      // Adding 10 Users with different attributes

//Parameters : UserName, Total work (Million Instructions), Budget (G$), tasks   

MercatusInterface.addUser("User0",4.2,100,4);

MercatusInterface.addUser("User1",6.5,150,4);

MercatusInterface.addUser("User2", 3.0, 180,5);

MercatusInterface.addUser("User3", 4.0, 100,3);

MercatusInterface.addUser("User4",4.25, 100,5);

MercatusInterface.addUser("User5",5.9,140,5);

MercatusInterface.addUser("User6", 4.0,100,6);

MercatusInterface.addUser("User7", 5.0, 160,7);

MercatusInterface.addUser("User8",4.6,200,4);

MercatusInterface.addUser("User9",3.1,140,5);

       

Step 3 : Randomly create subtasks for each user with a total work in Millions of Instructions

 

MercatusInterface.RandomizeAllTasks();

 

Step 4 : Add groups of resources with different attributes

 

      // Adding 15 resources belonging to 2 different groups

//Parameters : Resources, Processing power(MIPS), Reservation price or Cost        

MercatusInterface.CreateGroup(6, 50, 400);       

MercatusInterface.CreateGroup(9, 100, 800);

       

Step 5 : Start the simulation

 

MercatusInterface.start_simulation(); // Run the simulation

 

DOWNLOAD THE SAPMLE Experiment.java