/// <summary> /// Der Konstruktor, dem eine KleinerAlsOperation übergeben wird. /// <remarks> /// Der rechte Oparator enthält die komplette Zielfunktion, aber es muss eine Maximum-Funktion sein, z.B. max(x1+x2). /// Der linke Operator muss vom Typ ObjCritOperator sein, und darf keine Schranke enthalten. /// </remarks> /// </summary> /// <param name="op">Die KleinerAlsOperation</param> public OptimizationConstraint(LessThan op) : base(op) { _name = "objFunction"; // Prüfen, ob es sich wirklich um eine gültige Operation handelt if (op == null) { throw new Exception("null pointer"); } IOperation[] opList = op.GetOperatorList(); // Schauen, ob linker Operator vom Typ ObjCritOperator ist if (opList[0].GetType() != typeof(ObjCritOperator)) { throw new Exception("left operator has to be a ObjCritOperator"); } _objCritOp = (ObjCritOperator)opList[0]; _objectiveFunction = opList[1]; }