private static KnapsackConfig MakeValid(KnapsackConfig sack) { for (var i = 0; i < sack.Length() && !IsValid(sack); i++) { sack.setValueToPassive(i); } return(sack); }
private KnapsackConfig FirstApproachGenerate() { KnapsackConfig result = new KnapsackConfig(itemsAmount); for (var i = 0; i < itemsAmount; i++) { result.setValueToActive(i); } Random rand = new Random(); while (!IsValid(result)) { int positionNumber = rand.Next(itemsAmount); while (!result.isValueActive(positionNumber)) { positionNumber = rand.Next(itemsAmount); } result.setValueToPassive(positionNumber); } return(result); }