로드 중...
검색 중...
일치하는 항목 없음
슬롯 사이트 추천control.database.GamsDatabase 클래스 참조

GamsDatabase의 인스턴스는 Python 세계와 슬롯 사이트 추천 세계 간에 데이터를 전달합니다.더 보기...

공개 회원 기능

 __len__(자신)
 GamsDatabase의 기호 수를 검색합니다.
 
 __del__(자신)
 이 GamsDatabase와 관련된 관리되지 않는 리소스를 명시적으로 해제하려면 이를 사용하십시오.
 
 get_symbol(자신, 기호_식별자)
 이름으로 GamsSymbol을 가져옵니다.
 
 get_equation(자체, 방정식_식별자)
 이름으로 GamsEquation을 가져옵니다.
 
 get_parameter(자기, 매개변수_식별자)
 GamsParameter를 이름으로 가져옵니다.
 
 get_variable(자기, 변수_식별자)
 GamsVariable을 이름으로 가져옵니다.
 
 get_set(자신, set_identifier)
 GamsSet을 이름으로 가져옵니다.
 
 add_equation(자체, 식별자, 차원, equtype, explain_text="")
 데이터베이스에 방정식 기호를 추가합니다.
 
 add_equation_dc(자체, 식별자, equtype, 도메인, explain_text="")
 도메인 정보를 사용하여 데이터베이스에 방정식 기호를 추가합니다.
 
 추가_변수(자체, 식별자, 차원, 변수 유형, explain_text="")
 데이터베이스에 변수 기호를 추가합니다.
 
 add_variable_dc(자체, 식별자, 변수 유형, 도메인, explain_text="")
 도메인 정보를 사용하여 데이터베이스에 변수 기호를 추가합니다.
 
 add_set(자체, 식별자, 차원, explain_text="", settype=0)
 데이터베이스에 세트 기호를 추가합니다.
 
 add_set_dc(자체, 식별자, 도메인, explain_text="", settype=0)
 도메인 정보를 사용하여 데이터베이스에 세트 기호를 추가합니다.
 
 add_parameter(자체, 식별자, 차원, explain_text="")
 데이터베이스에 매개변수 기호를 추가합니다.
 
 add_parameter_dc(자체, 식별자, 도메인, explain_text="")
 도메인 정보를 사용하여 데이터베이스에 매개변수 기호를 추가합니다.
 
 내보내기(자신, file_path=없음)
 데이터베이스를 GDX 파일에 기록합니다.
 
 지우기(자신)
 GamsDatabase의 모든 기호를 지우세요.
 
 컴팩트(자신)
 이 기능은 더 이상 사용되지 않으며 더 이상 효과가 없습니다.
 
 check_domains(자신)
 모든 레코드가 지정된 기호 도메인 내에 있으면 모든 기호를 확인하십시오.
 
 get_database_dvs(자기, max_viol=0, max_viol_per_symbol=0)
 모든 GamsDatabaseDomainViolations 반환
 

속성

 숫자_기호= 속성(get_nr_symbols)
 GamsDatabase에 있는 기호 수를 검색하세요.
 
 작업공간= 속성(get_workspace)
 GamsDatabase가 포함된 GamsWorkspace를 가져옵니다.
 
 이름= 속성(get_name)
 GamsDatabase 이름을 얻으세요.
 
 suppress_auto_domain_checking
 GamsDatabase 내보내기에서 도메인 확인이 호출되는지 여부를 제어합니다.
 

자세한 설명

GamsDatabase의 인스턴스는 Python 세계와 슬롯 사이트 추천 세계 간에 데이터를 전달합니다.

GamsDatabase는 기호 모음으로 구성됩니다(GamsDatabase는 GamsDatabase의 기호를 통해 편리하게 반복할 수 있도록 __iter__() 및 next()를 구현합니다). GamsDatabase에 사용할 수 있는 기호 유형은 슬롯 사이트 추천 언어에서 알려진 기호 유형에 해당합니다. 집합, 매개변수, 변수 및 방정식은 Python에서 파생 클래스(예: GamsSet, GamsParameter 등)로 표현됩니다. 유형 외에도 GamsSymbol에는 이름(슬롯 사이트 추천 모델 내부의 이름과 일치해야 함), 차원(현재 최대 20 또는 GMS_MAX_INDEX_DIM) 및 일부 설명 텍스트가 있습니다.

변수와 방정식에도 하위 유형이 있습니다. 변수의 경우 VarType.Binary, VarType.Positive 등 방정식의 경우 EquType.E, EquType.G 등

GamsDatabases는 빈 상태로 생성되거나 기존 GDX 파일 또는 다른 GamsDatabase(사본)에서 초기화될 수 있습니다. 기호는 언제든지 추가할 수 있지만(예: GamsDatabase.add_parameter) 기호가 GamsDatabase의 일부가 되면 제거할 수 없습니다. 관련 데이터(GamsSymbolRecord)만 제거(GamsSymbol.clear() 참조)하거나 개별적으로 제거(GamsSymbol.delete_record)할 수 있습니다. 개별 데이터 요소는 기록별로 액세스됩니다. 레코드는 키(문자열 벡터)로 식별됩니다. 레코드 데이터는 기호 유형에 따라 다릅니다. 예를 들어, 매개변수 레코드에는 값 속성이 있고, 변수에는 수준, 하한, 상한, 한계 및 척도 속성이 있습니다. 이미 존재하는 키가 포함된 레코드를 추가하면 예외가 발생합니다. 마찬가지로 레코드 검색에 실패해도 예외가 발생합니다.

GamsSymbol은 __iter__() 및 next()를 구현하여 기호 레코드를 편리하게 반복합니다. 일부 위치에서 고정 인덱스가 있는 모든 레코드를 반복할 수 있는 기호 레코드에 대한 슬라이스 액세스 방법도 있습니다. GamsDatabases는 영구 저장을 위해 GDX 파일로 내보낼 수 있습니다.

GamsJob.out_db 및 GamsModelInstance.sync_db는 GamsDatabase 인스턴스를 제공하여 슬롯 사이트 추천 실행 또는 해결 결과를 전달합니다. 이러한 데이터베이스는 기본 개체(GamsJob 또는 GamsModelInstance)의 컨텍스트에서만 사용해야 합니다. 이러한 데이터베이스의 복사본이 필요한 경우 GamsWorkspace.add_database를 사용하여 선택적 매개변수 source_database를 지정하여 다른 데이터베이스에서 GamsDatabase를 초기화할 수 있습니다(예: newdb = 작업 공간.add_database(GamsJob.out_db)).

GamsDatabase는 종종 GamsJob에 대한 입력 데이터를 제공합니다. 이러한 GamsDatabase는 GamsJob.run 메서드에 나열됩니다. 슬롯 사이트 추천 모델 소스 내에서 GamsDatabase는 GDX 파일을 통해 액세스할 수 있습니다. 슬롯 사이트 추천 모델 소스에는 적절한 GDX 파일(예: $GDXIN 파일 이름)에 연결하기 위해 특정 파일 이름이 필요합니다. GamsDatabase는 주어진 이름으로 생성될 수 있으며, 이를 모델 내부에서 사용할 수 있습니다(예: db = 작업 공간.add_database(database_name="SupplyData")). 그런 다음 슬롯 사이트 추천 모델 소스 내부: $GDXIN SupplyData 또는 자동으로 생성된 이름을 사용할 수 있습니다. 이 이름은 GamsOptions 인스턴스의 정의 사전을 사용하여 슬롯 사이트 추천 모델로 전달될 수 있습니다.

db = 작업 공간.add_database()
opt = 작업 공간.add_options()
opt.defines["공급데이터파일이름"] = db.name
...
gamsjob.run(gams_options=opt, 데이터베이스=db)

슬롯 사이트 추천 모델 소스 내에서 이름은 다음과 같이 액세스됩니다:

$GDXIN %SupplyDataFileName%

예를 들어 주문된 세트에 관해서는 약간의 주의를 기울여 행동해야 합니다. 지연과 리드를 허용하십시오. GamsDatabase 클래스에 대한 "도메인 확인"을 시행하지 않음으로써 우리는 정렬된 세트에 대한 잠재적인 문제를 악화시켰습니다. 슬롯 사이트 추천의 경우 집합 요소의 레이블은 문자열이므로 집합의 순서는 해당 요소의 모양에 따라 결정됩니다. 예를 들어 'k / 2,3,4,1,5 /'를 설정했다면 k의 순서는 이 수열로 정확하게 주어진다. 따라서 k=4의 뒤(k-1)는 3이고 k=4의 앞(k+1)은 1입니다.

슬롯 사이트 추천는 확장된 숫자 범위로 산술을 수행합니다. 슬롯 사이트 추천에는 무한대(+INF, -INF), 엡실론(EPS), 사용할 수 없음(NA) 및 정의되지 않음(UNDEF)에 대한 특수 값이 있습니다. 슬롯 사이트 추천가 이러한 특수 값을 사용하여 표현식을 평가할 때 계산 엔진은 결과의 정확성을 보장합니다(예: 5*eps=eps 또는 5+eps=5). 슬롯 사이트 추천 모델 라이브러리의 슬롯 사이트 추천 모델 CRAZY는 특수 값과 관련된 산술 연산 결과를 문서화합니다.

슬롯 사이트 추천 Python API에서는 +/-무한대(float('inf')/float('-inf')) 및 NA(float('nan'))에 대한 IEEE 표준 값을 해당 슬롯 사이트 추천 값에 매핑합니다. UNDEF의 특수 값은 슬롯 사이트 추천 Python API를 통해 필터링되지 않습니다. UNDEF의 내부 double 값은 1.0E300입니다(또는 SV_UNDEF 상수를 사용하는 것이 더 좋습니다).

0 값에 특별한 주의가 필요합니다. 슬롯 사이트 추천는 희소 시스템이므로 실제 0이 있는 (매개변수) 레코드를 저장하지 않습니다. 숫자 값이 0인 레코드가 필요한 경우 EPS(SV_EPS)가 도움이 될 수 있습니다. 예를 들면:

set j /1*10 /; 매개변수 b(j); b(j) = 1; b('5') = 0;
스칼라 s,c; s = 합(j, b(j)); c = 카드(b); s,c를 표시;

결과는 다음과 같습니다

-- 3 PARAMETER s = 9.000
매개변수 c = 9.000

그러나

b(j) = 1; b('5') = EPS;

결과는

-- 3 PARAMETER s = 9.000
매개변수 c = 10.000

슬롯 사이트 추천 Python API의 결과는 무엇입니까? b('5')=0인 경우 매개변수 b를 읽으면 GAMSDatabase에는 b('5')에 대한 레코드가 없습니다. b('5')=EPS인 경우 GamsDatabase는 EPS 값을 갖는 레코드를 갖게 됩니다. IEEE 값(예: float("inf"))과 달리 Python의 산술 연산은 EPS를 수정합니다(예: 5*float("inf")==float("inf") 그러나 5*EPS!=EPS). GamsDatabase에서 슬롯 사이트 추천용 입력 데이터를 준비하는 데에도 동일한 규칙이 적용됩니다. EPS 값이 기록되면 슬롯 사이트 추천는 특수 값 EPS를 확인합니다. 다른 모든 작은 값(0 포함)은 필터링되지 않은 상태로 슬롯 사이트 추천에 전달됩니다. 앞서 언급했듯이 슬롯 사이트 추천의 데이터 레코드에는 0이 입력되지 않습니다. 컴파일러 컨트롤 $on/offEPS는 0을 EPS에 자동으로 매핑하는 데 도움이 될 수 있습니다.

슬롯 사이트 추천 입력에는 1e-250보다 작은 값과 관련하여 한 가지 이상한 점이 있습니다. 다음 예를 고려해보세요.

b = db.add_parameter("b",1)
foriin범위(1,11):
b.add_record(str(i)).value = 1
b.find_record("5").값 = 1E-251
job.run(db)
$load j b
스칼라 카드_b; 카드_b = 카드(b); 디스플레이 카드_b;
b(j) = 2*b(j); 카드_b = 카드(b); 디스플레이 카드_b;

1e-250보다 작은 값을 가진 레코드가 슬롯 사이트 추천의 입력에 존재하지만 레코드가 슬롯 사이트 추천에 의해 업데이트되고 여전히 1e-250보다 작은 경우 레코드가 제거됩니다.

슬롯 사이트 추천에서 집합의 순서는 직관적이지 않을 수 있습니다. "set i /5/, j /1*5/;"를 고려하세요. 요소 '5'는 내부 번호 1을 얻고, '1'은 2를 얻고, '2'는 3을 얻는 식입니다. j '5'의 마지막 요소에는 이미 내부 숫자 1이 있습니다. j의 내부 숫자 시퀀스는 오름차순이 아니므로 슬롯 사이트 추천는 집합 j를 정렬되지 않은 것으로 간주합니다. 즉, ord() 함수나 지연 또는 선행(-,–,+,++) 연산자를 사용할 수 없습니다. 이 예에서 'j'가 'i'보다 먼저 정의되었다면 "세트가 정렬되지 않음" 문제는 방지되었을 것입니다.

GamsDatabase는 실제로 데이터베이스 관리를 위한 관계형 모델을 구현하지 않는다는 점에 유의하십시오. 데이터 저장소 또는 데이터 컨테이너로 보아야 합니다.

멤버 함수 문서

◆ add_equation()

슬롯 사이트 추천control.database.GamsDatabase.add_equation ( 자신,
식별자,
차원,
equtype,
설명_텍스트="" )

데이터베이스에 방정식 기호를 추가하세요.

매개변수
식별자수식 이름
차원방정식 차원
equtype방정식 하위 유형(EquType.E: Equal, EquType.G: Greater, EquType.L: Less, EquType.N: 사양 없음, EquType.X: 외부 정의, EquType.C: Conic)
설명_텍스트방정식 설명 텍스트
반환
GamsEquation의 인스턴스
또한 참조
add_parameter(), add_set(), add_variable()

◆ add_equation_dc()

슬롯 사이트 추천control.database.GamsDatabase.add_equation_dc ( 자신,
식별자,
equtype,
도메인,
설명_텍스트="" )

도메인 정보를 사용하여 데이터베이스에 방정식 기호를 추가합니다.

매개변수
식별자수식 이름
equtype방정식 하위 유형(EquType.E: Equal, EquType.G: Greater, EquType.L: Less, EquType.N: 사양 없음, EquType.X: 외부 정의, EquType.C: Conic)
도메인도메인 정보에 대한 GamsSet 개체와 문자열을 포함하는 목록입니다. 목록의 길이는 차원을 지정합니다.
설명_텍스트방정식 설명 텍스트
반품
GamsEquation의 인스턴스
또한 참조
add_parameter_dc(), add_set_dc(), add_variable_dc()

◆ add_parameter()

슬롯 사이트 추천control.database.GamsDatabase.add_parameter ( 자신,
식별자,
차원,
설명_텍스트="" )

데이터베이스에 매개변수 기호를 추가합니다.

매개변수
식별자매개변수 이름
차원매개변수 차원
설명_텍스트매개변수 설명 텍스트
반환
GamsParameter의 인스턴스
또한 참조
add_equation(), add_set(), add_variable()

◆ add_parameter_dc()

슬롯 사이트 추천control.database.GamsDatabase.add_parameter_dc ( 자신,
식별자,
도메인,
설명_텍스트="" )

도메인 정보를 사용하여 데이터베이스에 매개변수 기호를 추가합니다.

매개변수
식별자매개변수 이름
도메인도메인 정보에 대한 GamsSet 개체와 문자열을 포함하는 목록입니다. 목록의 길이는 차원을 지정합니다.
설명_텍스트매개변수 설명 텍스트
반환
GamsParameter의 인스턴스
또한 참조
add_equation_dc(), add_set_dc(), add_variable_dc()

◆ add_set()

슬롯 사이트 추천control.database.GamsDatabase.add_set ( 자신,
식별자,
차원,
설명_텍스트="",
세트 유형=0 )

데이터베이스에 세트 기호를 추가합니다.

매개변수
식별자이름 설정
차원차원 설정
설명_텍스트세트 설명 텍스트
세트 유형하위 유형 설정(SetType.Multi, SetType.Singleton)
반품
GamsSet 인스턴스
또한 참조
add_equation(), add_parameter(), add_variable()

◆ add_set_dc()

슬롯 사이트 추천control.database.GamsDatabase.add_set_dc ( 자신,
식별자,
도메인,
설명_텍스트="",
세트 유형=0 )

도메인 정보를 사용하여 데이터베이스에 세트 기호를 추가합니다.

매개변수
식별자이름 설정
도메인도메인 정보에 대한 GamsSet 개체와 문자열을 포함하는 목록입니다. 목록의 길이는 차원을 지정합니다.
설명_텍스트세트 설명 텍스트
세트 유형하위 유형 설정(SetType.Multi, SetType.Singleton)
반품
GamsSet 인스턴스
또한 참조
add_equation_dc(), add_parameter_dc(), add_variable_dc()

◆ add_variable()

슬롯 사이트 추천control.database.GamsDatabase.add_variable ( 자신,
식별자,
차원,
변형,
설명_텍스트="" )

데이터베이스에 변수 기호를 추가합니다.

매개변수
식별자변수 이름
차원변수 차원
변형변수 하위 유형(VarType.Binary, VarType.Integer, VarType.Positive, VarType.Negative, VarType.Free, VarType.SOS1, VarType.SOS2, VarType.SemiCont, VarType.SemiInt)
설명_텍스트변수에 대한 설명 텍스트
반품
GamsVariable의 인스턴스
또한 참조
add_equation(), add_parameter(), add_set()

◆ add_variable_dc()

슬롯 사이트 추천control.database.GamsDatabase.add_variable_dc ( 자신,
식별자,
vartype,
도메인,
설명_텍스트="" )

도메인 정보를 사용하여 데이터베이스에 변수 기호를 추가합니다.

매개변수
식별자변수 이름
변형변수 하위 유형(VarType.Binary, VarType.Integer, VarType.Positive, VarType.Negative, VarType.Free, VarType.SOS1, VarType.SOS2, VarType.SemiCont, VarType.SemiInt)
도메인도메인 정보에 대한 GamsSet 개체와 문자열을 포함하는 목록입니다. 목록의 길이는 차원을 지정합니다.
설명_텍스트변수에 대한 설명 텍스트
반품
GamsVariable의 인스턴스
또한 참조
add_equation_dc(), add_parameter_dc(), add_set_dc()

◆ check_domains()

슬롯 사이트 추천control.database.GamsDatabase.check_domains ( 자신)

모든 레코드가 지정된 기호 도메인 내에 있는 경우 모든 기호를 확인하십시오.

반품
참: 모든 것이 정확함, 거짓: 도메인 위반이 있음

◆ 컴팩트()

슬롯 사이트 추천control.database.GamsDatabase.compact ( 자신)

이 기능은 더 이상 사용되지 않으며 더 이상 효과가 없습니다.

향후 삭제될 예정입니다.

◆ 내보내기()

슬롯 사이트 추천control.database.GamsDatabase.export ( 자신,
파일_경로=없음 )

데이터베이스를 GDX 파일에 기록합니다.

매개변수
파일_경로GDX 파일을 작성하는 데 사용되는 경로입니다. 상대 경로는 슬롯 사이트 추천 작업 디렉터리에 상대적입니다. 존재하지 않는 경우 파일은 데이터베이스 이름을 사용하여 작업 디렉터리에 기록됩니다.

◆ get_database_dvs()

슬롯 사이트 추천control.database.GamsDatabase.get_database_dvs ( 자신,
max_viol=0,
max_viol_per_symbol=0 )

모든 GamsDatabaseDomainViolations 반환

매개변수
max_viol저장해야 하는 최대 도메인 위반 수(0은 제한 없음)
max_viol_per_symbol기호당 저장해야 하는 최대 도메인 위반 수(0은 제한 없음)
반품
GamsDatabaseDomainViolation 개체를 포함하는 목록

◆ get_equation()

슬롯 사이트 추천control.database.GamsDatabase.get_equation ( 자신,
equation_identifier )

이름으로 GamsEquation을 가져옵니다.

매개변수
equation_identifier검색할 방정식의 이름
반품
GamsEquation의 인스턴스
또한 참조
get_symbol(), get_parameter(), get_set(), get_variable()

◆ get_parameter()

슬롯 사이트 추천control.database.GamsDatabase.get_parameter ( 자신,
매개변수_식별자 )

GamsParameter를 이름으로 가져옵니다.

매개변수
parameter_identifier검색할 매개변수의 이름
반품
GamsParameter의 인스턴스
또한 참조
get_symbol(), get_set(), get_variable(), get_equation()

◆ get_set()

슬롯 사이트 추천control.database.GamsDatabase.get_set ( 자신,
set_identifier )

GamsSet을 이름으로 가져옵니다.

매개변수
set_identifier검색할 세트의 이름
반품
GamsSet 인스턴스
또한 참조
get_symbol(), get_parameter(), get_variable(), get_equation()

◆ get_symbol()

슬롯 사이트 추천control.database.GamsDatabase.get_symbol ( 자신,
symbol_identifier )

GamsSymbol을 이름으로 가져옵니다.

기호 = 데이터베이스.get_symbol("a")
ifisinstance(symbol, GamsParameter):
인쇄("기호는 GamsParameter입니다.")
ifisinstance(기호, GamsSet):
인쇄("기호는 GamsSet입니다")
ifisinstance(기호, GamsVariable):
인쇄("기호는 GamsVariable입니다.")
ifisinstance(기호, GamsEquation):
인쇄("기호는 GamsEquation입니다")
매개변수
symbol_identifier검색할 기호의 이름
반품
_GamsSymbol의 인스턴스
또한 참조
get_parameter(), get_set(). get_variable(), get_equation()

◆ get_variable()

슬롯 사이트 추천control.database.GamsDatabase.get_variable ( 자신,
변수_식별자 )

GamsVariable을 이름으로 가져옵니다.

매개변수
변수_식별자검색할 변수의 이름
반품
GamsVariable의 인스턴스
또한 참조
get_symbol(), get_parameter(), get_set(), get_equation()

속성 문서

◆ 숫자_기호

슬롯 사이트 추천control.database.GamsDatabase.number_symbols = 속성(get_nr_symbols)
정적

GamsDatabase의 기호 수를 검색하세요.

참고
이것은 len(데이터베이스)를 호출하는 것과 같습니다