로드 중...
검색 중...
일치하는 항목 없음
크레이지 슬롯::GAMSModelInstance 클래스 참조

#include <gamsmodelinstance.h>

공개 회원 기능

 GAMSModelInstance ()
 기본 생성자.
 
GAMSModelInstance연산자=(상수GAMSModelInstance&기타)
 
부울 연산자!=(상수GAMSModelInstance&기타) const
 
부울 연산자==(상수GAMSModelInstance&기타) const
 
부울 isValid() const
 
크레이지 슬롯데이터베이스 syncDb ()
 수정 가능한 데이터를 동기화하는 데 사용되는 크레이지 슬롯데이터베이스를 검색합니다.
 
무효 인스턴스화(const std::string &modelDefinition, const크레이지 슬롯::GAMSOptions&옵션, const std::벡터<크레이지 슬롯::GAMSModifier> &수정자= )
 
무효 인스턴스화(const std::string &modelDefinition, const크레이지 슬롯::GAMSOptions&옵션, constGAMSModifier&modifier1=GAMSModifier(), constGAMSModifier&modifier2=GAMSModifier(), constGAMSModifier&modifier3=GAMSModifier())
 
무효 인스턴스화(const std::string &modelDefinition, const std::벡터<크레이지 슬롯::GAMSModifier> &수정자= )
 
무효 인스턴스화(const std::string &modelDefinition, constGAMSModifier&modifier1, constGAMSModifier&modifier2=GAMSModifier(), constGAMSModifier&modifier3=GAMSModifier())
 
무효 해결 (GAMSEnum::SymbolUpdateTypeupdateType, std::ostream &output, constGAMSModelInstanceOpt&miOpt)
 
무효 해결(상수GAMSModelInstanceOpt&miOpt)
 
무효 해결(std::ostream 및 출력)
 
무효 해결 (GAMSEnum::SymbolUpdateType업데이트 유형=GAMSEnum::SymbolUpdateType::BaseCase)
 
GAMSEnum::ModelStat 모델상태 ()
 모델 상태를 가져옵니다.
 
std::string modelStatusAsString ()
 모델 상태를 문자열로 가져옵니다.
 
GAMSEnum::SolveStat 해결상태 ()
 해결 상태를 가져옵니다.
 
std::string solveStatusAsString ()
 해결 상태를 문자열로 가져옵니다.
 
GAMSModelInstance copyModelInstance(const std::string &modelInstanceName="")
 
무효 인터럽트 ()
 실행 중인 GAMSModelInstance에 인터럽트 신호를 보냅니다.
 
크레이지 슬롯체크포인트 체크포인트 ()
 
std::string 이름 ()
 
로그 ID 로그ID ()
 

자세한 설명

GAMSJob 클래스는 크레이지 슬롯 모델과 솔버가 제공하는 해당 솔루션을 처리하는 표준 방법입니다. 크레이지 슬롯 언어는 루프에서 모델을 해결하고 분해 알고리즘 구축과 같은 기타 정교한 작업을 수행할 수 있는 프로그래밍 흐름을 제공합니다.

드문 경우지만 크레이지 슬롯 모델 생성 시간이 솔버 솔루션 시간을 지배하고 크레이지 슬롯 자체가 최적화 응용 프로그램에서 병목 현상이 됩니다. 크레이지 슬롯 솔버 문에 의해 생성된 단일 수학적 모델인 모델 인스턴스의 경우 GAMSModelInstance 클래스는 디스크 IO를 사용하지 않고 모델 변경 사항만 솔버에 전달하고 핫 스타트(LP와 같은 연속 모델의 경우)를 수행하여 모델 인스턴스를 수정하고 결과 문제를 가장 효율적인 방법으로 해결하는 제어된 방법을 제공합니다.

GAMSModelInstance에는 모델 정의가 포함된 GAMSCheckpoint가 필요합니다. GAMSModelInstance의 인스턴스화를 위해 크레이지 슬롯 해결의 중요한 부분을 제공해야 합니다. 모델 인스턴스 수정은 SyncDB의 데이터(GAMSDatabase 유형의 GAMSModelInstance 속성)를 통해 수행됩니다. GAMSModelInstance를 수정하는 방법에 대한 정보가 포함된 GAMSModifier를 생성해야 합니다. 이러한 GAMSModifier는 GAMSParameter 또는 업데이트할 GAMSVariable 또는 GAMSEquation이 포함된 트리플, 수정 작업(예: 변수 경계 업데이트를 위한 상한, 하한 또는 고정 또는 주로 다른 시작점에서 비선형 모델을 시작하는 데 사용되는 변수 또는 방정식의 수준/한계를 업데이트하는 Primal/Dual) 및 수정을 위한 데이터를 보유하는 GAMSParameter로 구성됩니다. GAMSModifier의 GAMSSymbol은 SyncDB에 속해야 합니다. Instantiate 호출 시 GAMSModifier 목록을 제공해야 합니다. GAMSModifiers인 GAMSParameters의 사용은 크레이지 슬롯 모델 소스에서 제한됩니다. 예를 들어 $() 내에서는 매개변수를 사용할 수 없습니다. 이러한 매개변수는 모델에 내생적으로 적용되며 크레이지 슬롯 컴파일러에서 그대로 처리됩니다. 게다가 모델 인스턴스의 테두리는 고정되어 있어 변수 및 방정식의 추가가 불가능합니다.

인스턴스화 호출은 SyncDB의 데이터가 아닌 GAMSModifier의 기호 정보만 쿼리합니다. 수정자의 차원을 검색합니다. 이것이 바로 Instantiate가 호출될 때 SyncDB에 수정자 기호가 존재해야 하지만 데이터가 없어도 되는 이유입니다. SyncDB의 업데이트 데이터가 포함된 GAMSParameters는 Solve 메서드를 실행하기 전에 언제든지 채워질 수 있습니다. Solve 메서드는 이 데이터를 사용하여 모델 인스턴스를 업데이트합니다. Solve 메서드는 모델 인스턴스에 있는 수정자 기호의 모든 레코드를 반복하고 SyncDB에서 업데이트 데이터를 찾으려고 시도합니다. SyncDB에서 레코드가 발견되면 이 데이터 레코드가 모델 인스턴스에 복사됩니다. SyncDB에서 해당 레코드가 발견되지 않으면 다른 선택이 있습니다. 1) 원본 데이터 레코드가 기본값인 복원(UpdateType=BaseCase), 2) GAMSParameter의 기본 레코드(0)가 사용됨(UpdateType=Zero, 3) 복사가 발생하지 않고 이전에 복사된 레코드 값(UpdateType=Accumulate)이 사용됩니다. 모델 인스턴스가 업데이트된 후 모델은 선택한 솔버에 전달됩니다.

Solve 메소드가 완료된 후 SyncDB에는 방금 해결된 모델의 원초 및 이중 솔루션이 포함됩니다. 또한 GAMSModifier인 GAMSParameters는 GAMSParameter 이름에 "_var"가 추가된 GAMSVariables로 SyncDB에서 액세스할 수도 있습니다. 이 GAMSVariable의 Marginal은 매개변수 설정에 대한 민감도 정보를 제공할 수 있습니다. 해결 상태는 ModelStatus 및 SolveStatus 속성을 통해 액세스할 수 있습니다.

일반적으로 크레이지 슬롯 C++의 파일 작업은 GAMSWorkspace에 정의된 WorkingDirectory에서 발생합니다. 이 규칙에 대한 실행은 GAMSModelInstance의 해석 루틴에 있는 해석기 특정 옵션으로 인해 읽거나 생성된 파일입니다. 이러한 파일은 현재 디렉터리, 즉 애플리케이션이 실행되는 디렉터리에 기록되거나 읽혀집니다.

GAMSJob.run() 메소드에 의해 생성된 GAMSCheckpoint에서 GAMSModelInstance를 생성하는 방법에 대한 예.

ws.gamsLib("trnsport");
GAMSJob직업 = ws.addJobFromFile("trnsport.gms");
직업.실행(cp);
크레이지 슬롯매개변수b = mi.syncDB.addParameter("b", 1,"수요");
mi.인스턴스화("운송은 lp min z를 사용합니다", GAMSModifier(b));
벡터<더블> bmult = 0.7, 0.9, 1.1, 1.3 ;
for (더블bm : bmult)
{
for (GAMSParameterRecordrec : 직업.outDB.getParameter("b"))
b.추가기록(rec.keys()).세트값(rec.value() * bm);
mi.해결();
cout <<"시나리오 bmult="<< bm <<":"<< endl;
cout <<" 모델 상태: "<< 마일.모델상태<< endl;
cout <<" 해결 상태: "<< mi.SolveStatus <<endl;
cout <<" 개체: "<< mi.syncDB.getVariable("z").findRecord().level() << endl;
}
GAMSModelInstance addModelInstance(const std::string &modelInstanceName="")
GAMSParameter getParameter(const std::string &name)
크레이지 슬롯데이터베이스 outDB()
Run 메소드로 생성된 GAMSDatabase를 가져옵니다.
void run()
GAMSJob을 실행하세요.
void 인스턴스화(const std::string &modelDefinition, const 크레이지 슬롯::GAMSOptions &options, const std::Vector< 크레이지 슬롯::GAMSModifier > &modifiers= )
GAMSEnum::ModelStat 모델상태()
모델 상태를 가져옵니다.
voidsolv(GAMSEnum::SymbolUpdateType updateType, std::ostream &output, const GAMSModelInstanceOpt &miOpt)
이것은 GAMSParameter의 단일 레코드를 표현한 것입니다.
void setValue(const double val)
이 GAMSParameterRecord의 값을 설정하십시오.
GAMSParameterRecord addRecord(const std::벡터< std::string > &keys)
void gamsLib(const std::string &model)
GAMSJob addJobFromFile(const std::string &fileName, const std::string &jobName="")

라인 정의125파일gamsmodelinstance.h.

생성자 및 소멸자 문서

◆ GAMSModelInstance()

크레이지 슬롯::GAMSModelInstance::GAMSModelInstance ( )

기본 생성자.

멤버 함수 문서

◆ 체크포인트()

크레이지 슬롯체크포인트크레이지 슬롯::GAMSModelInstance::checkpoint ( )

GAMSCheckpoint를 검색하세요.

반품
GAMSCheckpoint를 반환합니다.

◆ copyModelInstance()

GAMSModelInstance크레이지 슬롯::GAMSModelInstance::copyModelInstance ( const std::string & 모델인스턴스이름="")

이 ModelInstance를 새 ModelInstance에 복사합니다.

매개변수
모델인스턴스이름GAMSModelInstance의 식별자(생략된 경우 자동으로 결정됨).
반환
새 ModelInstance를 반환합니다.

◆ 인스턴스화()[1/4]

void 크레이지 슬롯::GAMSModelInstance::instantiate ( const std::string & 모델정의,
const크레이지 슬롯::GAMSOptions& 옵션,
constGAMSModifier& 수정자1=GAMSModifier(),
constGAMSModifier& 수정자2=GAMSModifier(),
constGAMSModifier& 수정자3=GAMSModifier() )

GAMSModelInstance를 인스턴스화합니다.

매개변수
모델정의모델 정의.
옵션크레이지 슬롯옵션.
수정자1GAMSModifiers 1.
수정자2GAMSModifier 2개.
수정자3GAMSModifier 3개.

◆ 인스턴스화()[2/4]

void 크레이지 슬롯::GAMSModelInstance::instantiate ( const std::string & 모델정의,
const크레이지 슬롯::GAMSOptions& 옵션,
const std::벡터<크레이지 슬롯::GAMSModifier> & 수정자={ } )

GAMSModelInstance를 인스턴스화합니다.

매개변수
모델정의모델 정의.
옵션크레이지 슬롯옵션.
수정자GAMSModifier의 벡터.

◆ 인스턴스화()[3/4]

void 크레이지 슬롯::GAMSModelInstance::instantiate ( const std::string & 모델정의,
constGAMSModifier& 수정자1,
constGAMSModifier& 수정자2=GAMSModifier(),
constGAMSModifier& 수정자3=GAMSModifier() )

GAMSModelInstance를 인스턴스화합니다.

매개변수
모델정의모델 정의.
수정자1GAMSModifiers 1.
수정자2GAMSModifier 2개.
수정자3GAMSModifier 3개.

◆ 인스턴스화()[4/4]

void 크레이지 슬롯::GAMSModelInstance::instantiate ( const std::string & 모델정의,
const std::벡터<크레이지 슬롯::GAMSModifier> & 수정자={ } )

GAMSModelInstance를 인스턴스화합니다.

매개변수
모델정의모델 정의.
수정자GAMSModifier의 벡터.

◆ 인터럽트()

void 크레이지 슬롯::GAMSModelInstance::interrupt ( )

실행 중인 GAMSModelInstance에 인터럽트 신호를 보냅니다.

◆ isValid()

bool 크레이지 슬롯::GAMSModelInstance::isValid ( ) const

GAMSModelInstance가 유효한지 확인합니다.

반품
반품GAMSModelInstance가 유효한 경우; 그렇지 않으면거짓.

◆ 로그ID()

LogId 크레이지 슬롯::GAMSModelInstance::logID ( )

크레이지 슬롯 로그 ID를 가져옵니다.

반품
크레이지 슬롯 로그 ID를 반환합니다.

◆ 모델상태()

GAMSEnum::ModelStat크레이지 슬롯::GAMSModelInstance::modelStatus ( )

모델 상태를 가져옵니다.

◆ modelStatusAsString()

std::string 크레이지 슬롯::GAMSModelInstance::modelStatusAsString ( )

모델 상태를 문자열로 가져옵니다.

◆ 이름()

std::string 크레이지 슬롯::GAMSModelInstance::name ( )

GAMSModelInstance 이름 검색

반품
GAMSModelInstance 이름을 반환합니다.

◆ 연산자!=()

bool 크레이지 슬롯::GAMSModelInstance::operator!= ( constGAMSModelInstance& 기타) const

두 개의 GAMSModelInstance 객체를 비교합니다.

매개변수
기타비교할 또 다른 GAMSModelInstance.
반품
반환사실두 개의 GAMSModelInstance가 다른 경우; 그렇지 않으면거짓.

◆ 연산자=()

GAMSModelInstance& 크레이지 슬롯::GAMSModelInstance::operator= ( constGAMSModelInstance& 기타)

GAMSModelInstance를 할당합니다.

매개변수
기타또 다른 GAMSModelInstance가 데이터 소스로 사용되었습니다.
반품
할당된 GAMSModelInstance(*this)를 반환합니다.

◆ 연산자==()

bool 크레이지 슬롯::GAMSModelInstance::operator== ( constGAMSModelInstance& 기타) const

두 개의 GAMSModelInstance 객체를 비교합니다.

매개변수
기타비교할 또 다른 GAMSModelInstance.
반품
반품두 개의 GAMSModelInstance가 동일한 경우; 그렇지 않으면거짓.

◆ 해결()[1/4]

void 크레이지 슬롯::GAMSModelInstance::solve ( constGAMSModelInstanceOpt& miOpt)

모델 인스턴스를 해결하세요.

매개변수
miOptGAMSModelInstance 옵션.

◆ 해결()[2/4]

void 크레이지 슬롯::GAMSModelInstance::solve ( GAMSEnum::SymbolUpdateType 업데이트 유형,
std::ostream & 출력,
constGAMSModelInstanceOpt& miOpt )

모델 인스턴스를 해결합니다.

매개변수
업데이트 유형업데이트 유형.
출력크레이지 슬롯 로그를 캡처하기 위한 스트림.
miOptGAMSModelInstance 옵션.

◆ 해결()[3/4]

void 크레이지 슬롯::GAMSModelInstance::solve ( GAMSEnum::SymbolUpdateType 업데이트 유형=GAMSEnum::SymbolUpdateType::BaseCase)

모델 인스턴스를 해결하세요.

매개변수
업데이트 유형업데이트 유형.

◆ 해결()[4/4]

void 크레이지 슬롯::GAMSModelInstance::solve ( std::ostream & 출력)

모델 인스턴스를 해결하세요.

매개변수
출력크레이지 슬롯 로그를 캡처하기 위한 스트림.

◆ 해결상태()

GAMSEnum::SolveStat크레이지 슬롯::GAMSModelInstance::solveStatus ( )

해결 상태를 가져옵니다.

◆ solveStatusAsString()

std::string 크레이지 슬롯::GAMSModelInstance::solveStatusAsString ( )

해결 상태를 문자열로 가져옵니다.

◆ syncDb()

크레이지 슬롯데이터베이스크레이지 슬롯::GAMSModelInstance::syncDb ( )

수정 가능한 데이터를 동기화하는 데 사용되는 크레이지 슬롯데이터베이스를 검색합니다.