build_excitation_span_minimization_model
build_excitation_span_minimization_model(excitations, num_modes, *, objective='multi', mix_delta=0.1)
여기 스팬을 최소화하기 위해 페르미온 모드를 정렬하는 Pyomo 모델을 구축하십시오.
이 모델은 각 원래 모드 인덱스를 선형 순서에서 정확히 하나의 위치에 할당하는 순열을 구성합니다. 모든 2모드 및 4모드 여기 튜플에 대해, 선택된 목적 함수에 따라 점유된 위치의 범위가 최소화됩니다.
이 excitations 목록은 다음과 같이 사전 처리됩니다:
- 동일한 튜플 내에서 두 번 나타나는 인덱스는 취소됩니다
- 길이가 0이거나 1인 결과 튜플은 무시되므로, 결과적인 최소화 모델에는 거리 제약 조건이 적용되지 않습니다
- 따라서, 길이가 2이거나 4인 후처리된 튜플만 예상됩니다
이 전처리 과정의 근거에 대한 보다 자세한 논의와 설명은 본 논문의 ‘ III.B ’ 절을 참조하십시오.
매개변수
-
excitations (Sequence[tuple[int, int] | tuple[int, int, int, int]]) – 페르미온 모드 지수에 대한 여기 지수 튜플의 순서열.
-
num_modes (int) – 정렬될 페르미온 모드의 총 개수.
-
objective (Literal['minmax', 'multi', 'avg']) –
선택된 객체 모드. 이는 다음 리터럴 중 하나일 수 있습니다:
minmax: 최대 여기 범위를 최소화합니다.avg: 평균 여기 기간을 최소화합니다.multi: 최소화합니다max_span + mix_delta * average_span.
-
mix_delta (float) –.의 경우에 사용되는 혼합 중량은 다음과 같습니다
objective="multi".
리턴
순열 변수, 스팬 변수, 제약 조건 및 목적 함수를 포함하는 Pyomo 최적화 모델. Pyomo 솔버를 사용하여 이 모델을 풀고 최적화된 순서를 도출하십시오.
인상
- ValueError – 후처리된 여기 튜플의 길이가 2나 4와 다를 경우.
- ValueError – 미지수가 선택된
objective경우.
리턴 유형