> Introducing ILOG CPLEX > Solving an LP with ILOG CPLEX > Concert Technology for C++ Users

Here is a C++ program using CPLEX in Concert Technology to solve the example. An expanded version of this example is discussed in detail in Chapter 3, Concert Technology Tutorial for C++ Users.

#include <ilcplex/ilocplex.h>
ILOSTLBEGIN

int
main (int argc, char **argv)
{
   IloEnv env;
   try {
      IloModel model(env);
      IloNumVarArray x(env);
      x.add(IloNumVar(env, 0.0, 40.0));
      x.add(IloNumVar(env));
      x.add(IloNumVar(env));
      model.add(IloMaximize(env, x[0] + 2 * x[1] + 3 * x[2]));
      model.add( - x[0] +     x[1] + x[2] <= 20);
      model.add(   x[0] - 3 * x[1] + x[2] <= 30);

      IloCplex cplex(model);
      if ( !cplex.solve() ) {
         env.error() << "Failed to optimize LP." << endl;
         throw(-1);
      }

      IloNumArray vals(env);
      env.out() << "Solution status = " << cplex.getStatus() << endl;
      env.out() << "Solution value = " << cplex.getObjValue() << endl;
      cplex.getValues(vals, var);
      env.out() << "Values = " << vals << endl;
   }
   catch (IloException& e) {
      cerr << "Concert exception caught: " << e << endl;
   }
   catch (...) {
      cerr << "Unknown exception caught" << endl;
   }

   env.end();

   return 0;
}  // END main