주메뉴 바로가기 본문 바로가기 하단 바로가기

고객지원

기술문의

min max 지정부분에 관한 질문입니다.

  • 이지혜
  • 2012.12.06
  • 조회수 1,463
안녕하세요.
코딩을 하는 과정에서
min max를 구하고자하는 변수 각각 다르게 지정하고싶은데

첨부파일에서 보시는바와 같이 IloModelArray x 부분을
각각 하나하나 지정하면 될 것같은데 변수 x를 너무 많이 선언했다고 오류가 떴습니다.
이 점 알려주시면 감사드리겠습니다. 다운로드아이콘제목 없음_2.png

댓글 3

  • 이성균2012-12-07
    안녕하세요.. KSTEC 이성균입니다.

    코드 전체를 다 보내주시지 않아서 다 확인할수 없네요.
    보내주신 코드를 바탕으로 컴파일 과정시 오류가 없습니다.

    변수 x를 다른곳에서 중복해서 선언한건 아닌지 확인해 보시기 바랍니다.
    아이콘삭제
  • 이지혜2012-12-07
    안녕하세요.
    첨부한 파일은 전체 코딩입니다.

    변수''x''가 총 8개 있는데 그에 따른 min, max값을 각각
    지정하고 싶어서 다음과 같이 했는데 오류가 생겼습니다.
    그래서 혹시 각각 정의를 할때
    그냥 ''x''가 아닌
    IloNumVarArray x[0](env, 0.0, 100, Iloint)
    IloNumVarArray x[1](env, 0.0, 75.0, Iloint)
    IloNumVarArray x[2](env, 0.0, IloInfinity, Iloint)
    .
    .
    .
    IloNumVarArray x[7]
    이런식으로 구현했는데
    --> error C2374:''x'' :재정의 여러번 초기화화했습니다.
    -->''x'' 선언을 참조하십시오
    라고 오류가 발생하였습니다.
    이점 어떻게 해결하면 될까요??부탁드립니다.
    아이콘삭제
  • 이성균2012-12-10
    안녕하세요 KSTEC 이성균입니다.

    우선 해당 질문은 cplex에 대한 질문이 아닌 기본 프로그램 문법으로 프로그램관련 기초 서적을 참고하시길 바랍니다.

    IloNumVarArray x(env, 4 , 0 , Iloinfinity, Iloint);
    총 사이즈가 4인 어레이(배열)입니다.
    이렇게 선언한 후에
    x[0].setBounds(0, 100);
    x[1].setBounds(0, 200);
    x[2].setBounds(0, 300);
    x[3].setBounds(0, IloInfinity);
    이런식으로 사용하셔야 합니다.
    추가적으로 해당 질문은 ILONumVarArray가 아닌 ILONumVar를 쓰시는게 더 나아 보입니다.

    자세한건 메뉴얼을 참고하시기바랍니다.
    수고하세요.
    아이콘삭제

댓글 입력