int main(int , const char * []){ IloEnv env; try { IloModel model(env); IloIntVar Belgium(env, 0, 3), Denmark(env, 0, 3), France(env, 0, 3), Germany(env, 0, 3), Luxembourg(env, 0, 3), Netherlands(env, 0, 3); model.add(Belgium != France); model.add(Belgium != Germany); model.add(Belgium != Netherlands); model.add(Belgium != Luxembourg); model.add(Denmark == Germany); model.add(France != Germany); model.add(France != Luxembourg); model.add(Germany != Luxembourg); model.add(Germany != Netherlands); IloCP cp(model); cp.setParameter(IloCP::LogVerbosity, IloCP::Quiet); if (cp.solve()){ cp.out() << std::endl << cp.getStatus() << " Solution" << std::endl; cp.out() << "Belgium: " << Names[cp.getValue(Belgium)] << std::endl; cp.out() << "Denmark: " << Names[cp.getValue(Denmark)] << std::endl; cp.out() << "France: " << Names[cp.getValue(France)] << std::endl; cp.out() << "Germany: " << Names[cp.getValue(Germany)] << std::endl; cp.out() << "Luxembourg: " << Names[cp.getValue(Luxembourg)] << std::endl; cp.out() << "Netherlands: " << Names[cp.getValue(Netherlands)] << std::endl; } } catch (IloException& ex) { env.out() << "Error: " << ex << std::endl; } env.end(); return 0; }
DKKLibor(const Period& tenor, const Handle<YieldTermStructure>& h = Handle<YieldTermStructure>()) : Libor("DKKLibor", tenor, 2, DKKCurrency(), Denmark(), Actual360(), h) {}