Index: geniuswebcore/test/resources/jobs/jobs.json
===================================================================
--- geniuswebcore/test/resources/jobs/jobs.json	(revision 67)
+++ geniuswebcore/test/resources/jobs/jobs.json	(revision 67)
@@ -0,0 +1,47 @@
+{
+	"name": "jobs",
+	"issuesValues": {
+		"salary": {
+			"values": [
+				"2000",
+				"2500",
+				"3000",
+				"3500",
+				"4000"
+			]
+		},
+		"fte": {
+			"values": [
+				"0.6",
+				"0.8",
+				"1.0"
+			]
+		},
+		"work from home": {
+			"values": [
+				"0",
+				"1",
+				"2"
+			]
+		},
+		"lease car": {
+			"values": [
+				"yes",
+				"no"
+			]
+		},
+		"permanent contract": {
+			"values": [
+				"yes",
+				"no"
+			]
+		},
+		"career development opportunities": {
+			"values": [
+				"low",
+				"medium",
+				"high"
+			]
+		}
+	}
+}
Index: geniuswebcore/test/resources/jobs/jobs1.json
===================================================================
--- geniuswebcore/test/resources/jobs/jobs1.json	(revision 67)
+++ geniuswebcore/test/resources/jobs/jobs1.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"issueUtilities": {
+			"salary": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"2000": 0,
+						"2500": 0.25,
+						"3000": 0.3,
+						"3500": 0.75,
+						"4000": 1.0
+					}
+				}
+			},
+			"fte": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"0.6": 0.25,
+						"0.8": 0.5,
+						"1.0": 0.75
+					}
+				}
+			},
+			"work from home": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"0": 0.333333333,
+						"1": 0.5,
+						"2": 0.666666666666
+					}
+				}
+			},
+			"lease car": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"yes": 1,
+						"no": 0
+					}
+				}
+			},
+			"permanent contract": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"yes": 1,
+						"no": 0
+					}
+				}
+			},
+			"career development opportunities": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"low": 0,
+						"medium": 0.5,
+						"high": 1
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"salary": 0.24,
+			"fte": 0.32,
+			"work from home": 0.18,
+			"lease car": 0.06,
+			"permanent contract": 0.16,
+			"career development opportunities": 0.04
+		},
+		"domain": {
+			"name": "jobs",
+			"issuesValues": {
+				"salary": {
+					"values": [
+						"2000",
+						"2500",
+						"3000",
+						"3500",
+						"4000"
+					]
+				},
+				"fte": {
+					"values": [
+						"0.6",
+						"0.8",
+						"1.0"
+					]
+				},
+				"work from home": {
+					"values": [
+						"0",
+						"1",
+						"2"
+					]
+				},
+				"lease car": {
+					"values": [
+						"yes",
+						"no"
+					]
+				},
+				"permanent contract": {
+					"values": [
+						"yes",
+						"no"
+					]
+				},
+				"career development opportunities": {
+					"values": [
+						"low",
+						"medium",
+						"high"
+					]
+				}
+			}
+		},
+		"name": "jobs1",
+		"reservationBid": {
+			"issuevalues": {
+				"salary": "3500",
+				"fte": "0.8",
+				"work from home": "1",
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "medium"
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/jobs/jobs1partial.json
===================================================================
--- geniuswebcore/test/resources/jobs/jobs1partial.json	(revision 67)
+++ geniuswebcore/test/resources/jobs/jobs1partial.json	(revision 67)
@@ -0,0 +1,403 @@
+{
+	"DefaultPartialOrdering": {
+		"name": "jobs1_20",
+		"domain": {
+			"name": "jobs",
+			"issuesValues": {
+				"lease car": {
+					"values": ["yes", "no"]
+				},
+				"permanent contract": {
+					"values": ["yes", "no"]
+				},
+				"career development opportunities": {
+					"values": ["low", "medium", "high"]
+				},
+				"fte": {
+					"values": ["0.6", "0.8", "1.0"]
+				},
+				"salary": {
+					"values": ["2000", "2500", "3000", "3500", "4000"]
+				},
+				"work from home": {
+					"values": ["0", "1", "2"]
+				}
+			}
+		},
+		"better": [
+			[0, 34],
+			[2, 9],
+			[3, 5],
+			[6, 23],
+			[12, 18],
+			[13, 27],
+			[14, 28],
+			[15, 37],
+			[17, 28],
+			[19, 1],
+			[20, 29],
+			[21, 24],
+			[22, 8],
+			[25, 10],
+			[26, 16],
+			[30, 24],
+			[31, 32],
+			[33, 7],
+			[35, 4],
+			[36, 11]
+		],
+		"bids": [{
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "0.8",
+				"salary": "4000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "high",
+				"fte": "0.6",
+				"salary": "2000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "low",
+				"fte": "0.8",
+				"salary": "2000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "0.8",
+				"salary": "2500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "0.6",
+				"salary": "2000",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "high",
+				"fte": "0.6",
+				"salary": "2500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "1.0",
+				"salary": "3500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "medium",
+				"fte": "1.0",
+				"salary": "3000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "0.6",
+				"salary": "3500",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "0.6",
+				"salary": "2000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "high",
+				"fte": "0.6",
+				"salary": "2000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "0.8",
+				"salary": "3500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "0.6",
+				"salary": "2500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "0.8",
+				"salary": "3000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "0.8",
+				"salary": "2000",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "1.0",
+				"salary": "3500",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "medium",
+				"fte": "0.8",
+				"salary": "4000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "0.8",
+				"salary": "3000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "0.8",
+				"salary": "2000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "1.0",
+				"salary": "3000",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "1.0",
+				"salary": "4000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "low",
+				"fte": "1.0",
+				"salary": "3500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "yes",
+				"career development opportunities": "medium",
+				"fte": "1.0",
+				"salary": "2500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "low",
+				"fte": "1.0",
+				"salary": "3000",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "medium",
+				"fte": "0.8",
+				"salary": "3000",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "0.8",
+				"salary": "2000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "0.8",
+				"salary": "3500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "0.6",
+				"salary": "4000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "low",
+				"fte": "0.6",
+				"salary": "2000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "low",
+				"fte": "0.6",
+				"salary": "3500",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "high",
+				"fte": "0.8",
+				"salary": "4000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "0.8",
+				"salary": "4000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "high",
+				"fte": "0.8",
+				"salary": "2500",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "yes",
+				"career development opportunities": "medium",
+				"fte": "1.0",
+				"salary": "4000",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "high",
+				"fte": "0.6",
+				"salary": "2500",
+				"work from home": "2"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "yes",
+				"career development opportunities": "low",
+				"fte": "0.8",
+				"salary": "3500",
+				"work from home": "0"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "high",
+				"fte": "1.0",
+				"salary": "4000",
+				"work from home": "1"
+			}
+		}, {
+			"issuevalues": {
+				"lease car": "yes",
+				"permanent contract": "no",
+				"career development opportunities": "medium",
+				"fte": "0.8",
+				"salary": "3500",
+				"work from home": "2"
+			}
+		}],
+		"reservationBid": {
+			"issuevalues": {
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "low",
+				"fte": "0.6",
+				"salary": "3500",
+				"work from home": "1"
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/jobs/jobs2.json
===================================================================
--- geniuswebcore/test/resources/jobs/jobs2.json	(revision 67)
+++ geniuswebcore/test/resources/jobs/jobs2.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"issueUtilities": {
+			"salary": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"2000": 1.0,
+						"2500": 0.75,
+						"3000": 0.5,
+						"3500": 0.25,
+						"4000": 0
+					}
+				}
+			},
+			"fte": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"0.6": 0.363636363636363636,
+						"0.8": 0.5,
+						"1.0": 0.636363636363636363
+					}
+				}
+			},
+			"work from home": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"0": 1.0,
+						"1": 0.5,
+						"2": 0
+					}
+				}
+			},
+			"lease car": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"yes": 0,
+						"no": 1
+					}
+				}
+			},
+			"permanent contract": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"yes": 0.23809523809523808,
+						"no": 0.761904761904762
+					}
+				}
+			},
+			"career development opportunities": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"low": 1.0,
+						"medium": 0.5,
+						"high": 0
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"salary": 0.2,
+			"fte": 0.165,
+			"work from home": 0.245,
+			"lease car": 0.08,
+			"permanent contract": 0.21,
+			"career development opportunities": 0.10
+		},
+		"domain": {
+			"name": "jobs",
+			"issuesValues": {
+				"salary": {
+					"values": [
+						"2000",
+						"2500",
+						"3000",
+						"3500",
+						"4000"
+					]
+				},
+				"fte": {
+					"values": [
+						"0.6",
+						"0.8",
+						"1.0"
+					]
+				},
+				"work from home": {
+					"values": [
+						"0",
+						"1",
+						"2"
+					]
+				},
+				"lease car": {
+					"values": [
+						"yes",
+						"no"
+					]
+				},
+				"permanent contract": {
+					"values": [
+						"yes",
+						"no"
+					]
+				},
+				"career development opportunities": {
+					"values": [
+						"low",
+						"medium",
+						"high"
+					]
+				}
+			}
+		},
+		"name": "jobs2",
+		"reservationBid": {
+			"issuevalues": {
+				"salary": "3000",
+				"fte": "0.8",
+				"work from home": "0",
+				"lease car": "no",
+				"permanent contract": "no",
+				"career development opportunities": "medium"
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/mopac.json
===================================================================
--- geniuswebcore/test/resources/mopac.json	(revision 67)
+++ geniuswebcore/test/resources/mopac.json	(revision 67)
@@ -0,0 +1,22 @@
+{
+	"MOPACSettings": {
+		"participants": [
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"classpath:geniusweb.exampleparties.randomparty.RandomParty", "parameters":{"power":1}},
+			"profile": "file:src/test/resources/jobs/jobs1.json"
+		} ]}}, 
+		
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"classpath:geniusweb.exampleparties.randomparty.RandomParty", "parameters":{"power":1}},
+			"profile": "file:src/test/resources/jobs/jobs2.json"
+		} ]}} ],
+		"deadline": {
+			"DeadlineTime": {
+				"durationms": 2000000
+			}
+		},
+		"votingevaluator":{"LargestAgreementsLoop":{}}
+	}
+}
Index: geniuswebcore/test/resources/party/party.json
===================================================================
--- geniuswebcore/test/resources/party/party.json	(revision 67)
+++ geniuswebcore/test/resources/party/party.json	(revision 67)
@@ -0,0 +1,52 @@
+{
+	"name": "party",
+	"issuesValues": {
+		"Food": {
+			"values": [
+				"Chips and Nuts",
+				"Finger-Food",
+				"Handmade Food",
+				"Catering"
+			]
+		},
+		"Drinks": {
+			"values": [
+				"Non-Alcoholic",
+				"Beer Only",
+				"Handmade Cocktails",
+				"Catering"
+			]
+		},
+		"Location": {
+			"values": [
+				"Party Tent",
+				"Your Dorm",
+				"Party Room",
+				"Ballroom"
+			]
+		},
+		"Invitations": {
+			"values": [
+				"Plain",
+				"Photo",
+				"Custom, Handmade",
+				"Custom, Printed"
+			]
+		},
+		"Music": {
+			"values": [
+				"MP3",
+				"DJ",
+				"Band"
+			]
+		},
+		"Cleanup": {
+			"values": [
+				"Water and Soap",
+				"Specialized Materials",
+				"Special Equiment",
+				"Hired Help"
+			]
+		}
+	}
+}
Index: geniuswebcore/test/resources/party/party1.json
===================================================================
--- geniuswebcore/test/resources/party/party1.json	(revision 67)
+++ geniuswebcore/test/resources/party/party1.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party1",
+		"issueUtilities": {
+			"Food": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.75,
+						"Finger-Food": 0.52,
+						"Handmade Food": 0.51,
+						"Catering": 0.25
+					}
+				}
+			},
+			"Drinks": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.263,
+						"Beer Only": 0.98,
+						"Handmade Cocktails": 0.672,
+						"Catering": 0.334
+					}
+				}
+			},
+			"Location": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Party Tent": 0.52,
+						"Your Dorm": 0.23,
+						"Party Room": 0.99,
+						"Ballroom": 0.77
+					}
+				}
+			},
+			"Invitations": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Plain": 0.24,
+						"Photo": 0.74,
+						"Custom, Handmade": 1,
+						"Custom, Printed": 0.48
+					}
+				}
+			},
+			"Music": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"MP3": 0.65,
+						"DJ": 0.99,
+						"Band": 0.35
+					}
+				}
+			},
+			"Cleanup": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Water and Soap": 0.65,
+						"Specialized Materials": 0.96,
+						"Special Equiment": 0.32,
+						"Hired Help": 0.31
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.19,
+			"Drinks": 0.28,
+			"Location": 0.19,
+			"Invitations": 0.05,
+			"Music": 0.19,
+			"Cleanup": 0.10
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/party/party2.json
===================================================================
--- geniuswebcore/test/resources/party/party2.json	(revision 67)
+++ geniuswebcore/test/resources/party/party2.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party2",
+		"issueUtilities": {
+			"Food": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.24,
+						"Finger-Food": 0.52,
+						"Handmade Food": 0.71,
+						"Catering": 0.97
+					}
+				}
+			},
+			"Drinks": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.33,
+						"Beer Only": 0.22,
+						"Handmade Cocktails": 1,
+						"Catering": 0.11
+					}
+				}
+			},
+			"Location": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Party Tent": 0.3,
+						"Your Dorm": 0.23,
+						"Party Room": 0.99,
+						"Ballroom": 0.09
+					}
+				}
+			},
+			"Invitations": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Plain": 0.84,
+						"Photo": 0.24,
+						"Custom, Handmade": 0.12,
+						"Custom, Printed": 0.98
+					}
+				}
+			},
+			"Music": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"MP3": 0.94,
+						"DJ": 0.32,
+						"Band": 0.64
+					}
+				}
+			},
+			"Cleanup": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Water and Soap": 1,
+						"Specialized Materials": 0.36,
+						"Special Equiment": 0.12,
+						"Hired Help": 0.21
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.095,
+			"Drinks": 0.228,
+			"Location": 0.109,
+			"Invitations": 0.214,
+			"Music": 0.108,
+			"Cleanup": 0.246
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/party/party3.json
===================================================================
--- geniuswebcore/test/resources/party/party3.json	(revision 67)
+++ geniuswebcore/test/resources/party/party3.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party3",
+		"issueUtilities": {
+			"Food": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Chips and Nuts": 1,
+						"Finger-Food": 0.75,
+						"Handmade Food": 0.6,
+						"Catering": 0.5
+					}
+				}
+			},
+			"Drinks": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.99,
+						"Beer Only": 0.02,
+						"Handmade Cocktails": 0.75,
+						"Catering": 0.03
+					}
+				}
+			},
+			"Location": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Party Tent": 0.98,
+						"Your Dorm": 0.8,
+						"Party Room": 0.4,
+						"Ballroom": 0.9
+					}
+				}
+			},
+			"Invitations": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Plain": 0.99,
+						"Photo": 0.67,
+						"Custom, Handmade": 0.52,
+						"Custom, Printed": 0.8
+					}
+				}
+			},
+			"Music": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"MP3": 0.9,
+						"DJ": 0.75,
+						"Band": 1
+					}
+				}
+			},
+			"Cleanup": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Water and Soap": 1,
+						"Specialized Materials": 0.51,
+						"Special Equiment": 0.67,
+						"Hired Help": 0.99
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.264,
+			"Drinks": 0.190,
+			"Location": 0.223,
+			"Invitations": 0.058,
+			"Music": 0.168,
+			"Cleanup": 0.097
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/party/party4.json
===================================================================
--- geniuswebcore/test/resources/party/party4.json	(revision 67)
+++ geniuswebcore/test/resources/party/party4.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party4",
+		"issueUtilities": {
+			"Food": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.98,
+						"Finger-Food": 0.75,
+						"Handmade Food": 0.5,
+						"Catering": 0.24
+					}
+				}
+			},
+			"Drinks": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.99,
+						"Beer Only": 0.72,
+						"Handmade Cocktails": 0.55,
+						"Catering": 0.23
+					}
+				}
+			},
+			"Location": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Party Tent": 0.58,
+						"Your Dorm": 0.75,
+						"Party Room": 1,
+						"Ballroom": 0.22
+					}
+				}
+			},
+			"Invitations": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Plain": 0.99,
+						"Photo": 0.47,
+						"Custom, Handmade": 0.72,
+						"Custom, Printed": 0.28
+					}
+				}
+			},
+			"Music": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"MP3": 0.65,
+						"DJ": 0.95,
+						"Band": 0.33
+					}
+				}
+			},
+			"Cleanup": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Water and Soap": 0.27,
+						"Specialized Materials": 0.51,
+						"Special Equiment": 0.97,
+						"Hired Help": 0.79
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.190,
+			"Drinks": 0.238,
+			"Location": 0.095,
+			"Invitations": 0.047,
+			"Music": 0.285,
+			"Cleanup": 0.145
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/party1.json
===================================================================
--- geniuswebcore/test/resources/party1.json	(revision 67)
+++ geniuswebcore/test/resources/party1.json	(revision 67)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party1",
+		"issueUtilities": {
+			"Food": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.75,
+						"Finger-Food": 0.52,
+						"Handmade Food": 0.51,
+						"Catering": 0.25
+					}
+				}
+			},
+			"Drinks": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.263,
+						"Beer Only": 0.98,
+						"Handmade Cocktails": 0.672,
+						"Catering": 0.334
+					}
+				}
+			},
+			"Location": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Party Tent": 0.52,
+						"Your Dorm": 0.23,
+						"Party Room": 0.99,
+						"Ballroom": 0.77
+					}
+				}
+			},
+			"Invitations": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Plain": 0.24,
+						"Photo": 0.74,
+						"Custom, Handmade": 1,
+						"Custom, Printed": 0.48
+					}
+				}
+			},
+			"Music": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"MP3": 0.65,
+						"DJ": 0.99,
+						"Band": 0.35
+					}
+				}
+			},
+			"Cleanup": {
+				"DiscreteValueSetUtilities": {
+					"valueUtilities": {
+						"Water and Soap": 0.65,
+						"Specialized Materials": 0.96,
+						"Special Equiment": 0.32,
+						"Hired Help": 0.31
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.19,
+			"Drinks": 0.28,
+			"Location": 0.19,
+			"Invitations": 0.05,
+			"Music": 0.19,
+			"Cleanup": 0.10
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/settings.json
===================================================================
--- geniuswebcore/test/resources/settings.json	(revision 67)
+++ geniuswebcore/test/resources/settings.json	(revision 67)
@@ -0,0 +1,21 @@
+{
+	"SAOPSettings": {
+		"participants": [
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"pythonpath:test.testparty.TestParty.TestParty", "parameters":{}},
+			"profile": "file:src/test/resources/jobs/jobs1.json"
+		} ]}}, 
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"pythonpath:test.testparty.TestParty.TestParty", "parameters":{}},
+			"profile": "file:src/test/resources/jobs/jobs2.json"
+		} ]}}
+		],
+		"deadline": {
+			"DeadlineTime": {
+				"durationms": 100
+			}
+		}
+	}
+}
Index: geniuswebcore/test/resources/settings2.json
===================================================================
--- geniuswebcore/test/resources/settings2.json	(revision 67)
+++ geniuswebcore/test/resources/settings2.json	(revision 67)
@@ -0,0 +1,23 @@
+{
+	"SAOPSettings": {
+		"participants": [
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"classpath:geniusweb.exampleparties.randomparty.RandomParty", "parameters":{}},
+			"profile": "file:src/test/resources/jobs/jobs1partial.json"
+		} ]}}
+		, 
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"classpath:geniusweb.exampleparties.randomparty.RandomParty","parameters":{}},
+			"profile": "file:src/test/resources/jobs/jobs2.json"
+		} ]}}
+		],
+		"deadline": {
+			"DeadlineTime": {
+				"durationms": 100
+			}
+		}
+		
+	}
+}
Index: geniuswebcore/test/resources/settingsbadprofile.json
===================================================================
--- geniuswebcore/test/resources/settingsbadprofile.json	(revision 67)
+++ geniuswebcore/test/resources/settingsbadprofile.json	(revision 67)
@@ -0,0 +1,23 @@
+{
+	"SAOPSettings": {
+		"participants": [
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"pythonpath:test.testparty.TestParty.TestParty", "parameters":{}},
+			"profile": "file:src/test/resources/jobs/jobs1.json"
+		} ]}}
+		, 
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"pythonpath:test.testparty.TestParty.TestParty","parameters":{}},
+			"profile": "file:src/test/resources/jobs/nosuchprofile.json"
+		} ]}}
+		],
+		"deadline": {
+			"DeadlineTime": {
+				"durationms": 100
+			}
+		}
+		
+	}
+}
Index: geniuswebcore/test/resources/shaoptoursettings.json
===================================================================
--- geniuswebcore/test/resources/shaoptoursettings.json	(revision 67)
+++ geniuswebcore/test/resources/shaoptoursettings.json	(revision 67)
@@ -0,0 +1,64 @@
+{
+	"AllPermutationsSettings": {
+		"teams": [
+			{
+				"Team": [
+					{
+						"partyref": "classpath:geniusweb.exampleparties.simpleshaop.ShaopParty",
+						"parameters": {
+						}
+					},{
+						"partyref": "classpath:geniusweb.exampleparties.comparebids.CompareBids",
+						"parameters": {
+						}
+					}
+					
+				]
+			},
+			{
+				"Team": [
+					{
+						"partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty",
+						"parameters": {
+						}
+					},{
+						"partyref": "classpath:geniusweb.exampleparties.comparebids.CompareBids",
+						"parameters": {
+						}
+					}
+				]
+			}
+		],
+		"reuseTeams": false,
+		"profileslists": [
+			{
+				"ProfileList": [
+					"file:src/test/resources/jobs/jobs1partial.json",
+					"file:src/test/resources/jobs/jobs1partial.json"
+					
+				]
+			},
+			{
+				"ProfileList": [
+					"file:src/test/resources/jobs/jobs2.json",
+					"file:src/test/resources/jobs/jobs2.json"
+					
+				]
+			}
+		],
+		"teamsPerSession": 2,
+		"sessionsettings": {
+			"SHAOPSettings": {
+				"participants": [
+				],
+				"deadline": {
+					"DeadlineRounds": {
+						"rounds": 10,
+						"durationms": 1000
+					}
+				}
+			}
+		},
+		"numberTournaments":1
+	}
+}
Index: geniuswebcore/test/resources/tournament.json
===================================================================
--- geniuswebcore/test/resources/tournament.json	(revision 67)
+++ geniuswebcore/test/resources/tournament.json	(revision 67)
@@ -0,0 +1,65 @@
+{
+	"AllPermutationsSettings": {
+		"teams": [
+			{
+				"Team": [
+					{
+						"partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty",
+						"parameters": {
+						}
+					}
+				]
+			},
+			{
+				"Team": [
+					{
+						"partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty",
+						"parameters": {
+						}
+					}
+				]
+			},
+			{
+				"Team": [
+					{
+						"partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty",
+						"parameters": {
+						}
+					}
+				]
+			}
+		],
+		"reuseTeams": false,
+		"profileslists": [
+			{
+				"ProfileList": [
+					"file:src/test/resources/party/party1.json"
+				]
+			},
+			{
+				"ProfileList": [
+					"file:src/test/resources/party/party2.json"				
+				]
+			},
+			{
+				"ProfileList": [
+					"file:src/test/resources/party/party3.json"					
+				]
+			}
+		],
+		"teamsPerSession": 2,
+		"sessionsettings": {
+			"SAOPSettings": {
+				"participants": [
+				],
+				"deadline": {
+					"DeadlineRounds": {
+						"rounds": 10,
+						"durationms": 1000
+					}
+				}
+			}
+		},
+		"numberTournaments":1
+	}
+}
