 |
|
|
|
 |
 |
 |
Q & A ...
°Ô½ÃÆÇ (Optimization)
|
|
|
¡Ø ¾È³çÇϽʴϱî..?
ÀúÈñ KSTECÀÇ Á¦Ç°À̳ª ¼ºñ½º¿¡ ´ëÇØ ±Ã±ÝÇϽŠÁ¡À̳ª ±â¼úÁö¿øÀ» ¿øÇϽô °í°´´ÔÀº ȸ»ç¸í,
ºÎ¼¸í, ¼º¸í, »ç¿ëÁ¦Ç°¸í, Á¦Ç° VERSIONÀ» ¸í½ÃÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.
¡Ø °Ô½ÃÇϽг»¿ë¿¡ ´ëÇØ¼´Â ½Å¼ÓÇÏ°Ô ´äº¯ÇØ µå¸®°Ú½À´Ï´Ù.
¡Ø ÇØ´çµÇ´Â Á¦Ç°±ºÀ» ¼±ÅÃÇϽŠÈÄ ÇÏ°í ½ÍÀ¸½Å ¸»¾¸À» Àû¾î ÁֽʽÿÀ.
|
|
|
Á¦ ¸ñ |
Error |
|
ÀÛ¼ºÀÚ |
À§ÁÖ¿µ |
ÀÛ¼ºÀÏ |
2011-12-06 |
Á¶È¸¼ö |
1396 ȸ |
|
÷ºÎÆÄÀÏ |
÷ºÎµÈ ÆÄÀϾøÀ½.
|
|
¾È³çÇϼ¼¿ä, ÀüÈ·Î ¹®Àǵå·È´ø À§ÁÖ¿µÀÔ´Ï´Ù. "This application has requested the Runtime to terminate it in an unusual way." ·Î ½ÃÀÛÇÏ´Â ¿¡·¯ ¸Þ½ÃÁö°¡ ¶¹½À´Ï´Ù. ¼Ò½ºÄÚµå´Â ¾Æ·¡¿Í °°½À´Ï´Ù. double solve(std::vector& stopList, std::vector& facilityList, Matrix& od, Matrix& indexMatrix, vector>& indexList, char* filename){ IloEnv env; IloModel model(env); IloExpr tmp(env);
int row = od.row(); int col = od.col(); int i,j;
// »ó¼ö
IloArray c(env, row); for(i = 0; i < row; i++){ c[i] = IloFloatArray(env, col); for(int j = 0; j < col; j++){ c[i][j] = od[i][j]; } }
IloFloatArray d(env, row); for(i = 0; i < row; i++) d[i] = stopList[i].demand;
IloFloatArray F(env, col); for(j = 0; j < col; j++) F[j] = facilityList[j].capacity;
// º¯¼ö IloBoolVarArray x(env, (int)indexList.size()); for(i = 0; i < (int)indexList.size(); i++){ stringstream name; name << "x[" << indexList[i].x << "][" << indexList[i].y << "]"; x[i].setName(name.str().c_str()); }
// ¸ñÀû½Ä
for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ if (indexMatrix[i][j] != -1) tmp += x[indexMatrix[i][j]] * c[i][j]; } }
model.add(IloMinimize(env,tmp));
// Á¶°Ç½Ä
for(i = 0; i < row; i++){ tmp.clear(); for(j = 0; j < col; j++){ if (indexMatrix[i][j] != -1) tmp += x[indexMatrix[i][j]]; } model.add(tmp == 1); }
for(j = 0; j < col; j++){ tmp.clear(); for(i = 0; i < row; i++){ if (indexMatrix[i][j] != -1) tmp += x[indexMatrix[i][j]] * d[i]; } model.add(tmp <= F[j]); }
IloCplex cplex(model);
cplex.exportModel(filename); cplex.setParam(IloCplex::WorkMem, 16384);
double startTime = env.getTime(); cplex.solve(); double endTime = env.getTime();
if (cplex.getStatus() != IloAlgorithm::Optimal) return startTime - endTime; cout << "Solution status : " << cplex.getStatus() << endl; cout << "Solution Value : " << cplex.getObjValue() << endl;
return endTime - startTime; } |
|
|
|
|
|
°ü·Ã±Û º¸±â
|
|
"Error"¿Í(°ú) °ü·ÃµÈ ±ÛÀÌ
2°Ç ÀÖ½À´Ï´Ù. |
 |
Error
|
À§ÁÖ¿µ |
2011-12-06 |
 |
[RE]Error
|
À̼º±Õ |
2011-12-07 |
 |
[RE][RE]Error
|
À§ÁÖ¿µ |
2011-12-07 |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|