Package org.jacop.examples.fd.muca
Class MUCA
java.lang.Object
org.jacop.examples.fd.ExampleFD
org.jacop.examples.fd.muca.MUCA
It solves the Mixed Multi-Unit Combinatorial Auctions.
The idea originated from reading the following paper where the first attempt to use CP was presented.
Comparing Winner Determination Algorithms for Mixed Multi-Unit Combinatorial Auctions by Brammert Ottens Ulle Endriss
- Version:
- 4.9
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionFor each bidder it specifies variable representing the cost of the chosen xor bid.ArrayList of bids issued by different bidders.For each bidder and each xor bid there is an integer representing a cost of the xor bid.IntVar[][]
For each transition and each good it specifies the delta change of that good before the transition takes place.IntVar[][]
For each transition and each good it specifies the delta change of that good after the transition takes place.It reads auction problem description from the file.It specifies the minimal quantities of items seeked to achieve.It specifies the initial quantities of goods.int
It specifies the maximal value for the cost.int
It specifies the maximal possible delta of goods for any transformation.int
It specifies the maximal number of transformations used by the auctioneer.int
The maximal number of products.int
It specifies the minimal value for the cost.int
It specifies the minimal possible delta of goods for any transformation.int
It specifies number of goods which are in the focus of the auction.IntVar[]
It specifies the number of goods after the last transition.IntVar[]
It specifies the sequence of transitions used by an auctioneer. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
It executes the program which solve the supplied auction problem or solves three problems available within the files.void
model()
It specifies a standard way of modeling the problem.void
readAuction
(String filename) It reads the auction problem from the file.boolean
It executes special master-slave search.void
It creates an instance of the auction problem.void
It creates an instance of the auction problem.void
It creates an instance of the auction problem.void
It creates an instance of the auction problem.Methods inherited from class org.jacop.examples.fd.ExampleFD
creditSearch, getSearch, getSearchVariables, getStore, printMatrix, search, searchAllAtOnce, searchAllOptimal, searchLDS, searchMasterSlave, searchMaxRegretOptimal, searchMiddle, searchMostConstrainedStatic, searchOptimal, searchSmallestDomain, searchSmallestMedian, searchSmallestMiddle, searchSmallestMin, searchWeightedDegree, searchWithMaxRegret, searchWithRestarts, shavingSearch
-
Field Details
-
bids
ArrayList of bids issued by different bidders. Each bidder issues an ArrayList of xor bids. Each Xor bid is a list of transformations. -
costs
For each bidder and each xor bid there is an integer representing a cost of the xor bid. -
initialQuantity
It specifies the initial quantities of goods. -
finalQuantity
It specifies the minimal quantities of items seeked to achieve. -
noGoods
public int noGoodsIt specifies number of goods which are in the focus of the auction. -
minDelta
public int minDeltaIt specifies the minimal possible delta of goods for any transformation. -
maxDelta
public int maxDeltaIt specifies the maximal possible delta of goods for any transformation. -
minCost
public int minCostIt specifies the minimal value for the cost. -
maxCost
public int maxCostIt specifies the maximal value for the cost. -
maxProducts
public int maxProductsThe maximal number of products. -
bidCosts
For each bidder it specifies variable representing the cost of the chosen xor bid. -
transitions
It specifies the sequence of transitions used by an auctioneer. -
maxNoTransformations
public int maxNoTransformationsIt specifies the maximal number of transformations used by the auctioneer. -
deltasI
For each transition and each good it specifies the delta change of that good before the transition takes place. -
deltasO
For each transition and each good it specifies the delta change of that good after the transition takes place. -
sum
It specifies the number of goods after the last transition. -
filename
It reads auction problem description from the file.
-
-
Constructor Details
-
MUCA
public MUCA()
-
-
Method Details
-
setupProblem1
public void setupProblem1()It creates an instance of the auction problem. -
setupProblem2
public void setupProblem2()It creates an instance of the auction problem. -
setupProblem3
public void setupProblem3()It creates an instance of the auction problem. -
setupProblem4
public void setupProblem4()It creates an instance of the auction problem. -
main
It executes the program which solve the supplied auction problem or solves three problems available within the files.- Parameters:
args
- the first argument specifies the name of the file containing the problem description.
-
model
public void model()Description copied from class:ExampleFD
It specifies a standard way of modeling the problem. -
searchSpecial
public boolean searchSpecial()It executes special master-slave search. The master search uses costs variables and maxregret criteria to choose an interesting bids. The second search (slave) looks for the sequence of chosen transactions such as that all constraints concerning goods quantity (deltas of transitions) are respected.- Returns:
- true if there is a solution, false otherwise.
-
readAuction
It reads the auction problem from the file.- Parameters:
filename
- file describing the auction problem.
-