iConstruct =
(NeighbourSelection) Class.forName(properties.getProperty("Itc.Construction", StandardNeighbourSelection.class.getName())).
getConstructor(new Class[]{DataProperties.class}).
newInstance(new Object[]{properties});
if (iConstruct instanceof StandardNeighbourSelection) {
StandardNeighbourSelection std = (StandardNeighbourSelection) iConstruct;
std.setValueSelection(
(ValueSelection) Class.forName(properties.getProperty("Itc.ConstructionValue", ItcTabuSearch.class.getName())).
getConstructor(new Class[]{DataProperties.class}).
newInstance(new Object[]{properties}));
std.setVariableSelection(
(VariableSelection) Class.forName(properties.getProperty("Itc.ConstructionVariable", ItcUnassignedVariableSelection.class.getName())).
getConstructor(new Class[]{DataProperties.class}).
newInstance(new Object[]{properties}));
try {
std.getValueSelection().
getClass().
getMethod("setValueWeight", new Class[]{double.class}).
invoke(std.getValueSelection(), new Object[]{new Double(valueWeight)});
} catch (NoSuchMethodException e) {
}
}
try {
iConstruct.getClass().