public virtual bool Minimize() { if (Function == null) throw new InvalidOperationException("function"); bool success = Optimize(); value = Function(Solution); return success; }