discrete optimization assignments