Как использовать GOBLIN Maximum Flow solver - PullRequest
0 голосов
/ 12 октября 2018

Согласно Руководству по проектированию алгоритмов , мы можем использовать библиотеки GOBLIN для многих графовых алгоритмов.Теперь я попытался использовать решатель Maximum Flow проекта GOBLIN в своем исследовании.Однако мне сложно найти пример того, как это сделать.Я не знаю, как создать график в первую очередь.Согласно документации,

http://goblin2.sourceforge.net/refman/tutorialConstruction.html#secPlainConstruction

, когда я создаю следующий файл cpp (), он распознает TNode как тип, но не распознает тип 'graph'.Спасибо за вашу помощь.

#include <iostream>
#include <fstream>
#include <time.h>
#include <math.h>
#include <vector>
#include <random>
#include <algorithm>
#include <iomanip>
#include <string>
#include <stdlib.h>
#include <deque>
#include <ilcplex/ilocplex.h>
#include <goblin.h>
// #include <abstractMixedGraph.h>
using namespace std ;

int main()
{
cout.precision ( 1 ) ;
cout << fixed ;
////////////////////////////
graph G(TNode(0));
    TNode** subset = new TNode*[cardinality];

    for (TNode i=0;i<cardinality;++i) {
       subset[i] = new TNode[cardinality];

       for (TNode j=i+1;j<cardinality;++j) {
          subset[i][j] = G.InsertNode();

          for (TNode k=0  ;k<i;++k) G.InsertArc(subset[i][j],subset[k][j]);
          for (TNode k=i+1;k<j;++k) G.InsertArc(subset[i][j],subset[i][k]);
          for (TNode k=0  ;k<i;++k) G.InsertArc(subset[i][j],subset[k][i]);
       }
    }

    for (TNode i=0;i<cardinality;++i) delete[] subset[i];
    delete[] subset;

return 0 ;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...