설명
알파벳은 수학 퍼즐의 일종입니다. 주어진 세트
장문의 추가로 기록된 단어, 매핑 찾기
문자와 숫자(값) 사이. 예를 들면:
G E O R G I A 8 4 6 5 8 0 2
원래 -> 6 5 4 8 6 3
버몬트 1 4 5 9 6 3 7
------------- ---------------
V I R G I N I A 1 0 5 8 0 3 0 2
추가 정보는 다음에서 확인할 수 있습니다.
/modlib/adddocs/alphametdoc.htm
대형 모델 유형 :MIP
카테고리 : 메가 슬롯 모델 라이브러리
메인 파일 : alphamet.gms
$title 알파벳순 - 수학 퍼즐 (ALPHAMET,SEQ=170)
$onText
알파벳은 수학 퍼즐의 한 유형입니다. 주어진 세트
장문의 추가로 기록된 단어, 매핑 찾기
문자와 숫자(값) 사이. 예를 들면:
G E O R G I A 8 4 6 5 8 0 2
원래 -> 6 5 4 8 6 3
버몬트 1 4 5 9 6 3 7
------------- ---------------
V I R G I N I A 1 0 5 8 0 3 0 2
추가 정보는 다음에서 확인할 수 있습니다.
/modlib/adddocs/alphametdoc.htm
Brooke, A, Kendrick, D 및 Meeraus, A, 메가 슬롯: 사용자 안내서. 는
Scientific Press, 캘리포니아 레드우드 시티, 1988.
키워드: 혼합 정수 선형 계획법, 영숫자
$offText
i '문자' 설정 / g, e, o, r, i, a, n, v, m, t /;
별칭(i,j);
abort$(card(i) <> 10) "설정에는 10개의 문자가 포함되어야 합니다.";
세트
납(i) / g, o, v /
k '슬라이스' / 1*8 /;
매개변수
lhs(k,i) '슬라이스의 각 문자에 대한 입력 개수'
/ 1.(a,n,t) 1
2.(이,오,엔) 1
3.g 2 , 3.o 1
4.(r,e,m) 1
5.o 1 , 5.r 2
6.e 2 , 6.o 1
7.(g,v) 1/
rhs(i,k) '결과'
/ (v.8,i.7,r.6,g.5,i.4,n.3,i.2,a.1) 1.0 /;
변수
z '캐리의 합 - 일부 목표'
x(i,j) '문자에 숫자 또는 값 할당'
y(i) '할당된 값'
c(k) '운반하다';
이진변수 x;
정수 변수 c;
방정식
obj '어떤 목적'
eq(k) '각 슬라이스에 대한 추가를 정의합니다'
ydef(i) '할당된 값'
x1(i) '할당 제약 1'
x2(j) '할당 제약 조건 2'
ld(i) '리드레터로 묶음';
obj.. z =e= sum(k, c(k - 1));
eq(k).. c(k-1) + sum(i, lhs(k,i)*y(i)) =e= sum(i, rhs(i,k)*y(i)) + 10*c(k)$(ord(k) <> 카드(k));
ydef(i).. y(i) =e= sum(j, (ord(j) - 1)*x(i,j));
x1(i)..합(j, x(i,j)) =e= 1;
x2(j)..합(i, x(i,j)) =e= 1;
ld(리드)..y(리드) =g= 1;
모델 m / 모두 /;
옵션 optCr = 1, optCa = 100;
z를 최소화하는 mip를 사용하여 m을 해결합니다.