Ho scritto un codice C ++ che chiama un risolutore chiamato CPLEX per risolvere un problema di ottimizzazione lineare intera (in Ubuntu 18.04). Ho tre serie di dati e uso il comando make
per creare 3 excecutables per ognuno di essi. Quindi eseguo questi tre file eseguibili contemporaneamente.
La mia domanda è: il fatto che le librerie CPLEX siano utilizzate per creare file oggetto e l'eseguibile significa che gli script eseguibili utilizzeranno CPLEX nel tempo di esecuzione? In altre parole, sta chiamando CPLEX una procedura una tantum che è richiesta solo al momento della generazione degli eseguibili? In caso contrario, eseguire i tre programmi contemporaneamente potrebbe non funzionare o, se funziona, potrebbe influire sulle prestazioni perché desiderano utilizzare CPLEX contemporaneamente. È corretto? Che dire dell'utilizzo di CPLEX con un linguaggio di programmazione interpretato come Python? Non ho molta familiarità con i compilatori o gli interpreti, quindi una spiegazione generale su come funziona sarebbe apprezzata.
EDIT:
Il mio codice sorgente .cpp
inizia con quanto segue:
#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>
using namespace std ;
Quindi tutto ciò che faccio è aggiungere #include <ilcplex/ilocplex.h>
al mio codice sorgente per poter usare le librerie CPLEX con il mio codice. In altre parole, il mio codice è solo un tipico codice C ++ che utilizza alcuni metodi aggiuntivi da CPLEX. Potrei fornire maggiori dettagli sull'utilizzo di CPLEX con il codice, ma penso che sia irrilevante qui e non contribuisce alla chiarezza della domanda. Per favore fatemi sapere se avete bisogno di ulteriori informazioni per comprendere la domanda.
Secondo questo link ,
When you compile a C++ application with a C++ library like CPLEX in Concert Technology, you need to tell your compiler where to find the CPLEX and Concert include files (that is, the header files), and you also need to tell the linker where to find the CPLEX and Concert libraries. The sample projects and makefiles illustrate how to carry out these crucial steps for the examples in the standard distribution. They use relative path names to indicate to the compiler where the header files are, and to the linker where the libraries are.