private static IVariable CalculateBatch(IMilpManager milpManager, IVariable[] first, IVariable[] second)
 {
     var power = (int)Math.Pow(2, first.Length);
     return first.Zip(second, Tuple.Create).Aggregate(milpManager.FromConstant(0),
         (result, pair) =>
         {
             power /= 2;
             return result.Operation(OperationType.Addition,
                 pair.Item1.Operation(OperationType.IsGreaterOrEqual, pair.Item2).Operation(OperationType.Multiplication, milpManager.FromConstant(power)),
                 pair.Item1.Operation(OperationType.IsLessOrEqual, pair.Item2).Operation(OperationType.Multiplication, milpManager.FromConstant(-power))
             );
         });
 }