로드 중...
검색 중...
일치하는 항목 없음
예
Java SE 11 이상이 필요한 Java Control API 버전의 경우 간단한 설명이 포함된 클래스 및 인터페이스는 다음과 같습니다.
[세부사항 수준123]
| ▼N별명 | |
| C별명 | 객체 지향 API에는 GAMS 별칭 개념이 없습니다. API 메소드로는 별칭을 GAMSDatabase에 입력할 수 없습니다. 그럼에도 불구하고 GAMSDatabase가 GDX 컨테이너(예: GAMSJob.OutDB)에서 로드되는 경우 데이터베이스에 별칭이 포함될 수 있습니다. 이러한 별칭은 GAMSSet으로 검색할 수 있으며 별칭 집합의 요소로 구성됩니다. GAMSDatabase의 GAMSSet이 실제로 별칭인지 확인하는 방법은 기호 이름이 조회 이름과 다른지 확인하는 것입니다(예: bool isAlias = db.GetSet("ii").Name != "ii"). 무료 슬롯제 모델은 객체 지향 API에서 별칭이 처리되는 방식의 논리를 살펴봅니다. |
| ▼NBendersDecomposition2StageSP | |
| C벤더스2스테이지 | 무료 슬롯는 확률론적 선형 프로그램에 대한 간단한 Benders 분해 방법의 순차적 구현을 보여줍니다. 기본 모델은 확률론적 수요 데이터를 사용하여 간단한 분배 시스템을 구현합니다. 마스터 및 하위 문제는 모델을 재생성하지 않고도 수정된 입력으로 모델을 해결할 수 있는 GAMSModelInstance 객체로 구현됩니다. GAMSModelInstance에는 고정된 모델 림이 있으므로 매 반복마다 마스터에 새로운 제약 조건(Benders 컷)이 추가되므로 이는 Benders 마스터 문제에 대한 문제를 제공합니다. 우리는 고정된 수의 빈(즉, 바인딩되지 않은) 자리 표시자 제약 조건으로 마스터의 GAMSModelInstance를 초기화하고 알고리즘 실행 중에 이러한 자리 표시자 제약 조건을 유효한 Benders 컷으로 전환하여 GAMSModelInstance의 이러한 제한을 해결합니다. |
| CBenders2StageMT | 무료 슬롯는 확률론적 선형 프로그램에 대한 간단한 Benders 분해 방법의 병렬 구현을 보여줍니다. 기본 모델은 확률론적 수요 데이터를 사용하여 간단한 분배 시스템을 구현합니다. 이 병렬 버전은 다음을 확장합니다.벤더스2스테이지예를 들어 독립적인 하위 문제를 병렬로 해결합니다. 이를 위해서는 각 병렬 작업자에 대해 별도의 GAMSModelInstance를 인스턴스화해야 합니다. 우리는 이를 가장 효과적인 방법으로 수행하기 위해 효율적인 GAMSModelInstance.copyModelInstance 메소드를 사용합니다. 수요 시나리오의 수는 병렬 작업자의 수보다 클 수 있습니다. 작업 배포는 작업 대기열을 통해 처리됩니다. 하위 문제의 병렬 실행은 별도의 스레드에서 수행되므로(예제 이름의 MT는 멀티 스레딩을 나타냄) 디스크 활동으로 인한 오버헤드가 거의 없습니다. |
| ▼N클래드 | |
| C클래드 | 무료 슬롯는 GAMS/Cplex를 사용하여 어려운 MIP에 대한 복잡한 종료 기준을 구현하는 방법을 보여줍니다. 우리는 전체적으로 최적의 솔루션(상대적 간격 0%)을 달성하고 싶지만 솔루션 시간이 n1초보다 커지면 10% 간격으로 절충할 수 있고, 이것이 n2초 후에도 달성되지 않으면 20% 간격으로 절충하고, 다시 n3초 내에 달성되지 않으면 솔버가 지금까지 수행한 모든 작업을 취하고 해결을 종료합니다. 이는 독립 스레드에서 GAMSJob.run을 실행하고 새 GAMS/Cplex 옵션 파일을 제공하여 기본 스레드의 상대적 간격에 대한 새 허용 오차를 제공함으로써 구현되며 GAMSJob.Interrupt 메서드를 통해 GAMS/Cplex에 의한 새 허용 오차 옵션 처리를 트리거합니다. |
| ▼N컷스톡 | |
| C컷스톡 | 무료 슬롯는 절단 재고 문제를 해결하기 위해 열 생성 접근 방식을 구현합니다. 무료 슬롯에서 열 생성 접근 방식은 마스터에 GAMSJob을 사용하고 가격 문제에 GAMSModelInstance를 사용하여 프로그램에서 완전히 구현되었습니다. GAMS는 마스터 및 가격 문제를 구축하는 데 사용됩니다. 컬럼 생성 방식의 로직은 응용프로그램에 있습니다 |
| CSimpleCutstock | 무료 슬롯는 절단 재고 문제를 해결하기 위해 열 생성 접근 방식을 구현합니다. 이 프로그램에서는 열 생성 방식이 GAMS에서 구현되었습니다. 또한 입력 및 출력 데이터가 포함된 GAMS 모델은 GAMS와의 모든 상호 작용을 구동 애플리케이션과 분리하는 클래스로 래핑되었습니다. |
| ▼NCutStockGUI | |
| CCutWidthsControl | |
| C양식1 | 무료 슬롯에서는 데이터베이스에서 데이터를 로드하거나 수동으로 데이터를 입력할 수 있습니다. 절단 재고 문제는 분해 접근 방식을 구현하기 위해 GAMSJob 및 GAMSModelInstance 클래스를 모두 사용하여 해결됩니다. GMSCutStock 예도 참조하세요. |
| ▼NDemo1GUI | |
| C양식1 | 이 농업 모델의 경우 입력 데이터를 여러 테이블에 직접 입력할 수 있습니다. 무료 슬롯 모델 자체는 하나의 단일 GAMSJob 인스턴스를 사용하여 실행됩니다. 결과는 다양한 차트와 표에 표시됩니다. |
| ▼N도메인 확인 중 | |
| C도메인 확인 중 | GAMS 용어에서 도메인 검사라고도 알려진 참조 무결성을 적용하는 것은 GAMS의 필수적이고 중요한 부분입니다. 객체 지향 API는 기호의 지연된 도메인 검사를 수행합니다. 따라서 GAMSSet i에 아직 라벨이 포함되어 있지 않더라도 도메인 제어 매개변수(예: p(i))에 레코드를 추가할 수 있습니다. 사용자는 GAMSDatabase.CheckDomains(또는 GAMSSymbol.CheckDomains) 메소드를 호출하여 참조 무결성에 대한 명시적인 검사를 실행할 수 있습니다. 객체 지향 API는 참조 무결성을 위반하는 레코드에 액세스하는 방법을 제공합니다(자세한 내용은 GAMSDatabaseDomainViolation 참조). 도메인 검사는 GAMSDatabase.Export 메소드를 통해 또는 GAMSJob.Run 메소드에 제공된 데이터베이스에 대해 GAMSDatabase를 GDX 파일로 내보낼 때 암시적으로 수행됩니다. GAMSDatabase.SuppressAutoDomainChecking 속성을 통해 암시적 도메인 확인을 억제할 수 있습니다(데이터를 가져올 때 GAMS에 맡김). 무료 슬롯에서는 도메인 확인을 트리거하는 방법과 참조 무결성을 위반하는 레코드에 액세스하는 방법을 보여줍니다. |
| ▼NGamsApiTests | |
| C가정부 관리인 | |
| C프로그램 | 무료 슬롯에는 .Net 객체 지향 API에서 실행하는 모든 단위 테스트가 포함되어 있습니다. |
| CTestGAMS데이터베이스 | |
| CTestGAMSIterator | |
| CTestGAMSJob | |
| CTestGAMSModelInstance | |
| CTestGAMS옵션 | |
| CTestGAMS성능 | |
| CTestGAMSSymbol | |
| CTestGAMSSymbolRecord | |
| CTestGAMSWorkspace | |
| CTestGAMSWorkspaceInfo | |
| ▼N무료 슬롯클라이언트 | |
| CGAMSClientClass | 무료 슬롯는 간단한 GAMS 서버를 구현하는 방법을 보여줍니다. 무료 슬롯는 GAMSServer와 GAMSClient라는 두 부분으로 구성됩니다. 무료 슬롯제는 클라이언트와 서버를 동일한 시스템에서 실행하도록 구성되었지만 다른 시스템에서 실행되도록 쉽게 변경할 수 있습니다. 클라이언트와 서버 모두 서버를 구현하는 GAMSRemoteClass에 액세스해야 합니다. 의사소통 방법은 매우 간단합니다. 클라이언트는 GAMSJob의 구성요소(모델 텍스트, GDX 입력, 매개변수)를 설정하고 이를 직렬화된(GDX 및 매개변수 파일의 바이트 표현을 통해) 서버에 보냅니다. 서버는 직렬화된 표현에서 GAMS 개체를 다시 생성하고 모델을 실행하며 추가 처리를 위해 직렬화된 GAMSJob.OutDB를 클라이언트에 다시 전달합니다. |
| ▼NGAMSRemoteObject | |
| CGAMSRemoteClass | 무료 슬롯는 간단한 GAMS 서버를 구현하는 방법을 보여줍니다. 무료 슬롯는 GAMSServer와 GAMSClient의 두 부분으로 구성됩니다. 무료 슬롯제는 클라이언트와 서버를 동일한 시스템에서 실행하도록 구성되었지만 다른 시스템에서 실행되도록 쉽게 변경할 수 있습니다. 클라이언트와 서버 모두 서버를 구현하는 GAMSRemoteClass에 액세스해야 합니다. 의사소통 방법은 매우 간단합니다. 클라이언트는 GAMSJob의 구성요소(모델 텍스트, GDX 입력, 매개변수)를 설정하고 이를 직렬화된(GDX 및 매개변수 파일의 바이트 표현을 통해) 서버에 보냅니다. 서버는 직렬화된 표현에서 GAMS 객체를 다시 생성하고 모델을 실행하며 추가 처리를 위해 직렬화된 GAMSJob.OutDB를 클라이언트에 다시 전달합니다. |
| ▼N무료 슬롯서버 | |
| CGAMSServerClass | |
| ▼N인터럽트 | |
| C인터럽트 | 일반 콘솔 응용프로그램에서 Ctrl-C를 누르면 전체 작업이 중단됩니다. GAMS 사용자는 Ctrl-C가 해결을 중단한 다음 나머지 GAMS 작업 실행을 계속한다는 사실에 익숙합니다. 무료 슬롯에서는 Ctrl-C의 이러한 동작을 얻기 위해 일부 콘솔 속성을 변경하는 방법을 보여줍니다. |
| ▼NInterruptGui | |
| C양식1 | 이 작은 예는 그래픽 사용자 인터페이스에서 무료 슬롯 모델을 실행하는 방법을 보여줍니다. 여기에는 작업 시작, 창에서 무료 슬롯 로그 캡처, 중단 버튼 제공 등 무료 슬롯 IDE에서 알고 있는 모든 기본 기능이 포함되어 있습니다. 작업을 중단하는 기본 메커니즘은 다음과 유사합니다.인터럽트.인터럽트예(GAMSJob.Interrupt), 그러나 트리거 메커니즘은 매우 다릅니다. |
| CTextBoxBaseWriter | |
| ▼N마코위츠 | |
| C양식1 | 이것은 두 가지 목표 수익과 위험을 통해 Markowitz의 포트폴리오 선택 문제의 효율적인 경계를 표시하는 작은 그래픽 프로그램입니다. 무료 슬롯에서는 GAMSModelInstance 클래스를 활용하여 매개변수화된 목표 최대 람다*반환 - (1-람다)*위험을 가장 효율적인 방법으로 해결합니다. |
| ▼NMessageReceiver창 | |
| ▼C양식1 | 작은 예는 사용자 정의 시각적 로그를 구현하는 방법을 보여줍니다. 무료 슬롯에서는 put_utility "winmsg"를 통해 이 프로그램이 시작한 양식으로 메시지를 보낼 수 있습니다. 또한 양식은 양식의 내용을 저장하거나 내용을 클립보드에 넣거나 프로그램을 종료하기 위한 일부 명령(@으로 시작하는 메시지)을 이해합니다. MessageReceiverWindow는 사용할 준비가 된 무료 슬롯 시스템 디렉터리에 실행 파일로도 배포됩니다. 무료 슬롯 테스트 라이브러리의 모델 mrw01은 프로그램 사용을 보여줍니다. |
| CCOPYDATASTRUCT | |
| ▼N특수값 | |
| C특수값 | 무료 슬롯는 프로그래밍 언어의 특수 값(예: 무한대)이 어떻게 GAMS까지 침투하는지 보여줍니다. Infinity와 NaN(숫자가 아님)은 잘 정의되어 있습니다. GAMS 정의되지 않음 및 EPS에는 특별한 고려가 필요합니다. |
| ▼N운송GUI | |
| C양식1 | 무료 슬롯에서는 일련의 운송 문제가 GAMSModelInstance를 사용하여 해결되었습니다. 데이터는 테이블에 입력되거나 데이터베이스에서 로드될 수 있습니다. 테이블에 데이터를 입력하면 관련 테이블이 자동으로 업데이트됩니다. 결과는 표와 막대 차트로 표시됩니다. 전송 모델 시퀀스 예도 참조하세요. |
| ▼NTransportSeq | |
| C최적화자 | |
| C운송 | 무료 슬롯 trnsport 모델용 래퍼 클래스 |
| C운송1 | 이것은 일련의 튜토리얼 예제 중 첫 번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C교통10 | 이것은 일련의 튜토리얼 예제 중 10번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송11 | 이것은 일련의 튜토리얼 예제 중 11번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송12 | 이것은 일련의 튜토리얼 예제 중 12번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송13 | 이것은 일련의 튜토리얼 예제 중 13번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송14 | 이것은 일련의 튜토리얼 예제 중 14번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송2 | 이것은 일련의 튜토리얼 예제 중 두 번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송3 | 이것은 일련의 튜토리얼 예제 중 세 번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송4 | 이것은 일련의 튜토리얼 예제 중 4번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송5 | 이것은 일련의 튜토리얼 예제 중 5번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송6 | 이것은 일련의 튜토리얼 예제 중 6번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송7 | 이것은 일련의 튜토리얼 예제 중 7번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송8 | 이것은 일련의 튜토리얼 예제 중 8번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송9 | 이것은 일련의 튜토리얼 예제 중 9번째 모델입니다. 여기서는 다음을 보여줍니다.
|
| C운송 엔진 | 이것은 run_engine 메소드를 사용하여 무료 슬롯 엔진에서 GAMSJob을 실행하는 방법의 예입니다:
|
| CTransportGDX | 무료 슬롯는 GDX 파일을 읽고 쓰기 위해 GAMSDatabase 클래스를 사용하는 방법을 보여줍니다. 특히 무료 슬롯에서는 다음을 보여줍니다.
|
| ▼N티스푼 | |
| C티스푼 | 무료 슬롯는 TSP(여행하는 외판원 문제) 문제에 대한 하위 투어 제거 알고리즘을 구현하기 위해 GAMSModelInstance를 사용하는 방법을 보여줍니다. Benders2Stage 예제와 유사하게 알고리즘의 각 반복에서 생성되는 하위 투어 제거 제약 조건에 대한 자리 표시자가 있습니다. Benders 예제와 달리 여기서는 원래 자리 표시자 수가 충분히 크지 않은 경우 GAMSModelInstance를 다시 생성합니다. 모든 하위 투어가 제거될 때까지 이 프로세스를 계속합니다. |
| ▼N창고 | |
| C창고 | 무료 슬롯는 다양한 데이터 세트에 대해 매장을 창고에 병렬로 할당하는 간단한 GAMS 모델을 해결하는 방법을 보여줍니다. 모델이 매개변수화되었습니다. 데이터는 창고 수, 매장 수, 일부 고정 비용 스칼라 등 몇 가지 숫자에서 파생될 수 있습니다. 모델의 결과는 뮤텍스를 통해 병렬 스레드 전체에서 보호되는 단일 결과 데이터베이스에 기록됩니다. |