Показать все возможные решения в ojAlgo

Вопрос. Можно ли изменить приведенное выше, чтобы получить все возможные результаты вместо оптимизированного.

Подробности. Имея набор данных о доспехах, я хочу создать набор комбинаций, в которых выполняются мои ограничения.

    Variable helm1 = model.addVariable("Helm 1").binary();
    Variable helm2 = model.addVariable("Helm 2").binary();
    Variable helm3 = model.addVariable("Helm 3").binary();

    Variable arm1 = model.addVariable("Arm 1").binary();
    Variable arm2 = model.addVariable("Arm 2").binary();
    Variable arm3 = model.addVariable("Arm 3").binary();

    Expression statA = model.addExpression().lower(0).weight(1);
    Expression statB = model.addExpression().lower(0).weight(1);
    Expression statC = model.addExpression().lower(0).weight(1);
    //Lower Limit set for desired stat
    Expression statD = model.addExpression().lower(2).weight(1); 

    // Limit number of helms you can equip
    model.addExpression().upper(1).set(helm1,1).set(helm2,1).set(helm3,1);
    model.addExpression().upper(1).set(arm1,1).set(arm2,1).set(arm3,1);

    statA.set(arm1, 1);

    statB.set(helm2, 1);
    statB.set(helm3, 1);
    statB.set(arm2, 1);

    statC.set(helm1, 1);
    statC.set(arm2, 1);
    statC.set(arm3, 1);

    statD.set(helm3, 3);
    statD.set(arm1, 1);
    Optimisation.Result result = model.maximise();
    BasicLogger.debug(result);

Примечание. Прежде чем рекомендовать библиотеки, обратите внимание, что библиотека должна быть совместима с Android.


person OrhanC1    schedule 18.06.2018    source источник


Ответы (1)


Ответ: Нет — ojAlgo выведет 1 (оптимальное, если сможет его найти) решение.

person apete    schedule 19.06.2018
comment
Спасибо. Хотя я предпочитаю API ojAlgo, я решил использовать Choco-solver 3.3.3. - person OrhanC1; 20.06.2018