로드 중...
검색 중...
일치하는 항목 없음
.NET 제어 API

슬롯 나라 네임스페이스는 일반 대수 모델링 시스템(슬롯 나라)과 상호작용하기 위한 개체를 제공합니다. 이 네임스페이스의 개체를 사용하면 입력 데이터와 모델 결과(GAMSDatabase)를 편리하게 교환할 수 있으며, 슬롯 나라 옵션(GAMSOptions)으로 사용자 정의할 수 있는 슬롯 나라 모델(GAMSJob)을 생성 및 실행하는 데 도움이 됩니다. 또한 밀접하게 관련된 일련의 모델 인스턴스를 가장 효율적인 방법으로 해결하는 방법(GAMSModelInstance)을 소개합니다.

기본 슬롯 나라 엔진은 파일 기반 통신(예: 목록 파일) 및 기타 관리되지 않는 리소스에 어느 정도 의존합니다. .NET 환경에서 외부 리소스를 사용하려면 특별한 주의가 필요합니다. 따라서 슬롯 나라 네임스페이스의 일부 개체는 IDisposable 인터페이스(예: GAMSDatabase)를 구현하며 .NET 가비지 수집기가 작업을 수행하기 전에 적절하게 삭제되어야 합니다.

슬롯 나라 프로그램은 다른 소스 파일(예: $include)을 포함하고, GDX 파일(예: $GDXIN 또는execute_load)에서 데이터를 로드하고, PUT 파일을 생성할 수 있습니다. 이러한 모든 파일은 (상대) 경로로 지정할 수 있으므로 파일 시스템에 대한 앵커가 필요합니다. 기본 클래스 GAMSWorkspace는 파일 시스템에 대한 앵커를 관리합니다. 특정 .NET 솔루션에서 외부 파일 통신이 문제가 되지 않는 경우 임시 디렉터리 및 파일은 네임스페이스의 개체에 의해 관리됩니다.

GAMSWorkspace를 제외하고 슬롯 나라 네임스페이스의 개체는 인스턴스가 잠겨 있지 않으면 다른 스레드를 통해 액세스할 수 없습니다. 클래스 자체는 스레드로부터 안전하며 클래스의 여러 개체는 서로 다른 스레드에서 사용될 수 있습니다(GAMSModelInstance 클래스 내에서 스레드로부터 안전하지 않은 솔버에 대한 제한 사항은 아래 참조).

참고: GAMSWorkspace의 여러 인스턴스를 병렬로 사용하는 경우 동일한 WorkingDirectory를 사용하지 않아야 합니다. 그렇지 않으면 파일 이름이 충돌하게 될 수 있습니다.

이 슬롯 나라 네임스페이스 버전은 다음 슬롯 나라 구성요소에 대한 지원이 부족합니다:

약어, 슬롯 나라 컴파일/실행 오류 지원(GAMSJob.Run에서 예외가 발생함), 목록 파일에 대한 구조적 액세스 및 솔버 옵션에 대한 적절한 지원.

현재 Cplex, Gurobi 및 SoPlex만이 GAMSModelInstances 해결 기능을 완전히 활용하고 있습니다. 일부 솔버는 GAMSModelInstances를 사용하는 다중 스레드 애플리케이션에서도 작동하지 않습니다. 일부 솔버의 경우 솔버 라이브러리가 스레드로부터 안전하지 않기 때문에(예: MINOS) 이는 불가피합니다. 다른 솔버는 원칙적으로 스레드로부터 안전하지만 슬롯 나라 링크는 그렇지 않습니다(예: SNOPT). 또한 2차 모델 유형(QCP, MIQCP, RMIQCP)에는 GAMSModelInstances를 사용할 수 없습니다.

이 API는 다양한 .NET 언어와 함께 사용할 수 있습니다. [슬롯 나라 시스템]\apifiles에 이 API를 사용하는 C#, VB.NET 및 Microsoft Visual C++의 예가 있습니다. 또한 Linux 및 Mac OS X에서 MONO를 사용하여 작동합니다. 슬롯 나라 .NET 제어 API는 Target Framework 버전 4.6.2에서 작동합니다.

여기.NET Control API에서 사용할 수 있는 설명과 함께 모든 클래스 목록을 찾을 수 있습니다.튜토리얼API의 기본 기능에 대한 개요를 제공하고슬롯 나라 배포판에서 사용할 수 있는 예시 목록을 제공합니다.