|
Á¦ ¸ñ |
IlcIntArray : IloNumArray |
|
ÀÛ¼ºÀÚ |
ȲÁØÇÏ |
ÀÛ¼ºÀÏ |
2002-03-20 |
Á¶È¸¼ö |
1274 ȸ |
|
÷ºÎÆÄÀÏ |
÷ºÎµÈ ÆÄÀϾøÀ½.
|
|
ºÎ»ê´ëÇб³ ÄÄÇ»ÅͰøÇаú ȲÁØÇÏ ILOG Solver 5.0
ILOG SolverÀÇ ÀÌÀü ¹öÀü¿¡¼´Â IlcIntArray º¯¼öÀÇ Ã·ÀÚ·Î IlcIntVar º¯¼ö°¡ »ç¿ëµÇ¾î ±× ÀÚü°¡ IlcIntVar º¯¼ö°¡ µÇµµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ¾ú´Âµ¥ IloNumArray¿¡¼´Â ±×¿Í °°Àº ±â´ÉÀ» »ç¿ëÇÐ ¼ö°¡ ¾ø½À´Ï´Ù.
¿¹Á¦´Â µÎ º¯¼öÀÇ °ªÀÌ IlcIntArrayÀÇ Ã·ÀÚ·Î ¾²ÀÌ´Â °æ¿ìÀÔ´Ï´Ù. º¯¼ö µÎ °³ÀÇ °ªÀÌ ³ª¿ÔÀ» ¶§ ±× º¯¼öÀÇ Ã·ÀÚ¿¡ ÇØ´çÇÏ´Â ¹è¿ÀÇ °ªÀÇ ÇÕÀÌ 10 ÀÌ»óÀ» ¸¸Á·ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ Äڵ忡¼ ÀÌÀü ½ºÅ¸Àϰú °°ÀÌ ÇÁ·Î±×·¡¹ÖÇÒ ¶§´Â Á¦´ë·Î ´äÀÌ ³ª¿À´Âµ¥ ÇöÀç ½ºÅ¸ÀÏ¿¡ ¸ÂÃâ °æ¿ì ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
* ÄÚµå
#include #include
//#define ILCINTVAR
#ifdef ILCINTVAR
// ÀÌÀü ½ºÅ¸ÀÏ : IlcIntVarArray »ç¿ë void main() { IlcManager m(IlcEdit); IlcIntArray Ary(m, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
IlcIntVarArray Vars(m, 2, 0, 9); m.add(Ary[Vars[0]] + Ary[Vars[1]] >= 10); m.add(IlcGenerate(Vars)); if (m.nextSolution()) { m.out() << Vars[0].getValue() << \"\\t\" << Ary[Vars[0].getValue()] << endl; m.out() << Vars[1].getValue() << \"\\t\" << Ary[Vars[1].getValue()] << endl; }
m.end(); }
#else
// ÇöÀç ½ºÅ¸ÀÏ : IloNumVarArray »ç¿ë void main() { IloEnv env; IloModel model(env); IloNumArray Ary(env, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
IloNumVarArray Vars(env, 2, 0, 9); model.add(Ary[Vars[0]] + Ary[Vars[1]] >= 10); // ==> ¿¡·¯ ¹ß»ý IloSolver solver(model); if (solver.solve()) { solver.out() << solver.getValue(Vars[0]) << \"\\t\" << Ary[solver.getValue(Vars[0])] << endl; solver.out() << solver.getValue(Vars[1]) << \"\\t\" << Ary[solver.getValue(Vars[1])] << endl; }
env.end(); }
#endif |
|
|
|