connect03.gms : CSV 파일을 사용한 간단한 연결 예

설명

이 문제는 다음을 충족하는 최소 비용 배송 일정을 찾습니다.
시장의 요구사항과 공장의 공급품.

슬롯 사이트 추천 Connect는 CSV 파일을 읽고 쓰는 데 사용됩니다.
참고: 이 예에서는 간단한 명령을 사용하여 CSV 데이터를 읽을 수도 있습니다.
추가 전처리를 수행하지 않고 테이블 문을 삭제합니다.

카테고리 : 슬롯 사이트 추천 데이터 유틸리티 라이브러리


메인 파일 : connect03.gms 포함: connect03.gms

$title CSV 파일을 사용한 단순 연결 예(CONNECT03,SEQ=146)

$onText
이 문제는 다음을 충족하는 최소 비용 배송 일정을 찾습니다.
시장의 요구사항과 공장의 공급품.

슬롯 사이트 추천 Connect는 CSV 파일을 읽고 쓰는 데 사용됩니다.
참고: 이 예에서는 간단한 명령을 사용하여 CSV 데이터를 읽을 수도 있습니다.
추가 전처리를 수행하지 않고 테이블 문을 만듭니다.

Dantzig, GB, 3.3장. 선형 프로그래밍 및 확장.
프린스턴 대학 출판부, 뉴저지주 프린스턴, 1963년.

이 공식은 다음에 자세히 설명되어 있습니다.
Rosenthal, RE, 2장: 슬롯 사이트 추천 튜토리얼. 슬롯 사이트 추천: 사용자 가이드.
Scientific Press, 캘리포니아주 레드우드 시티, 1988년.

이러한 이유로 행 번호는 책의 행 번호와 일치하지 않습니다.
댓글.

키워드: 선형 계획법, 운송 문제, 스케줄링
$offText

$onEcho > distance.csv
나,뉴욕,시카고,토피카
시애틀,2.5,1.7,1.8
샌디에이고,2.5,1.8,1.4
$offEcho

$onEcho > 용량.csv
나, 용량
시애틀, 350
샌디에이고,600
$offEcho

$onEcho > 수요.csv
j,수요
뉴욕, 325
시카고,300
토피카,275
$offEcho

i는 '통조림 공장', j는 '시장'으로 설정합니다.

매개변수 d(i<,j<) '거리(천 마일)'
          a(i) '경우에 따라 식물 i의 용량'
          b(j) '경우에 따라 시장 j의 수요';

$onEmbeddedCode 연결:
- CSV리더:
    파일: 거리.csv
    이름: d
    indexColumns: 1
    valueColumns: "2:lastCol"
- CSV리더:
    파일: 용량.csv
    이름: 에
    indexColumns: 1
    값열: 2
- CSV리더:
    파일: 수요.csv
    이름: b
    indexColumns: 1
    값열: 2
- 슬롯 사이트 추천작성기:
    기호: 모두
$offEmbeddedCode

스칼라 f '1,000마일당 케이스당 운임(달러)' / 90 /;

매개변수 c(i,j) '케이스당 운송 비용(단위: 수천 달러)';
c(i,j) = f*d(i,j)/1000;

변수
   x(i,j) '케이스의 선적 수량'
   z '총 운송 비용(천 달러)';

양수 변수 x;

방정식
   비용 '목적 함수 정의'
   Supply(i) '공장 i의 공급 제한을 준수합니다.'
   수요(j) '시장 j의 수요를 충족';

비용.. z =e= sum((i,j), c(i,j)*x(i,j));

공급(i).. sum(j, x(i,j)) =l= a(i);

수요(j)..sum(i, x(i,j)) =g= b(j);

모델 운송 / 모두 /;

z를 최소화하는 lp를 사용하여 전송을 해결합니다.

임베디드 코드 연결:
- 슬롯 사이트 추천리더:
    기호:
      - 이름 : x
- 프로젝션:
    이름: x.l(i,j)
    새로운 이름: x_level(i,j)
- CSV작성자:
    파일: 선적_수량.csv
    이름: x_level
    언스택: 참
endEmbeddedCode