2013-04-18 3 views

ответ

2

Класс IloModel :: Iterator, который позволяет вам посещать объекты IloExtractable в объекте IloModel. IloExtractable имеет метод asConstraint, который возвращает пустой дескриптор, если extractable не является ограничением. Метод getImpl() для любого дескриптора концерна ILOG вернет 0. Таким образом, вы можете выполнять итерацию по всем извлекаемым объектам и подсчитывать, что те, у кого функция asConstraint не возвращает пустой дескриптор.

#include <ilconcert/ilomodel.h> 

unsigned getNumConstraints(IloModel m) 
{ 
    unsigned count = 0; 
    IloModel::Iterator iter(m); 
    while (iter.ok()) { 
    if ((*iter).asConstraint().getImpl()) { 
     ++count; 
    } 
    ++iter; 
    } 
    return count; 
} 
2

После того, как вы извлекли модель (IloModel) в IloCplex объекта (вы должны сделать это в какой-то момент в вашей программе для решения модели), вы можете позвонить IloCplex::getNrows, чтобы получить общее количество строк (ограничений) вашей проблемы.

Смежные вопросы