0

我正在尝试找到加载工作站的最佳解决方案。为此,我想使用 OjAlgo 库中的“ExpressionsBasedModel”。当需要的物品位于那里并且成本较低时,应使用工作站。这已经适用于下面附加的代码。我现在想添加另一个优化。

工作站被分组为字符串。即使这会增加成本,我也希望使用尽可能少的字符串。

我该如何制定这种优化?

欢迎提出改进建议

  Variable[][] x_stations = new Variable[STRING_COUNT][STATION_COUNT];
  for (int i = 0; i < STRING_COUNT; i++) {
     for (int j = 0; j < STATION_COUNT; j++) {
        x_stations[i][j] = model.addVariable("Station " + i + "/" + j)
                                .binary()
                                .weight(costs[i][j]);
     }
  }

  for (String sku : relevantSKUs) {
     Expression stationExpression = model.addExpression(sku).lower(1);
     List<Integer> possibleStations = skusToStations.get(sku);

     for (Integer stations : possibleStations) {
        stationExpression.set(model.getVariable(stations), 1);
     }
  }

  Optimisation.Result result = model.minimise();
4

0 回答 0