일반 대수 모델링 시스템
General Algebraic Modeling System개발자 | 감스 개발 주식회사 |
---|---|
안정된 릴리스 | 40.1.0 / 2022년 8월 1일 ([1] 전 ( |
플랫폼 | 크로스 플랫폼 |
유형 | 대수 모델링 언어(AML) |
면허증. | 독자 사양 |
웹 사이트 | www |
일반 대수 모델링 시스템(GAMS)은 수학적 최적화를 위한 고급 모델링 시스템입니다.GAMS는 선형, 비선형 및 혼합 정수 최적화 문제를 모델링하고 해결하도록 설계되었습니다.이 시스템은 복잡한 대규모 모델링 애플리케이션에 맞게 조정되며, 사용자가 새로운 상황에 맞게 조정할 수 있는 유지 관리 가능한 대형 모델을 구축할 수 있습니다.이 시스템은 다양한 컴퓨터 플랫폼에서 사용할 수 있습니다.모델은 플랫폼 간에 휴대할 수 있습니다.
GAMS는 최초의 대수 모델링 언어(AML)[2]로 일반적으로 사용되는 4세대 프로그래밍 언어와 형식적으로 유사합니다.GAMS는 Integrated Development Environment(IDE; 통합 개발 환경)를 포함하고 있으며 서드파티 최적화솔러 그룹에 접속되어 있습니다.솔버로는 BARON, COIN-OR 솔버, CONOPT, CPLEX, DICOPT, MOSEK, SNOPT, SULUM 및 XPRESS가 있습니다.
GAMS는 사용자가 다양한 솔버를 조합한 일종의 하이브리드 알고리즘을 구현할 수 있도록 합니다.모델은 간결하고 사람이 읽을 수 있는 대수적 문장으로 설명됩니다.GAMS는 NEOS [citation needed]서버에서 가장 일반적인 입력 형식 중 하나입니다.처음에는 경제 및 경영학 관련 애플리케이션용으로 설계되었지만, 엔지니어링 및 과학 분야의 다양한 배경을 가진 사용자 커뮤니티가 있습니다.
타임라인
- 1976년 부다페스트에서 열린[3] 수학 프로그래밍 국제 심포지엄에서 GAMS 아이디어가 발표되었습니다.
- 1978 단계 I: GAMS는 선형 프로그래밍을 지원합니다.지원되는 플랫폼: 메인프레임 및 Unix 워크스테이션
- 1979 단계 II: GAMS는 비선형 프로그래밍을 지원합니다.
- 1987년 GAMS는 상업용 제품이 되었다.
- 1988년 최초의 PC 시스템(16비트)
- 1988년 GAMS의 설립자이자 GAMS Development Corporation의 설립자인 Alex Meeraus는 INFOMS Computing Society 상을 수상했습니다.
- 1990 32비트 Dos Extender
- 1990년, GAMS는 워싱턴 D.C.의 조지타운으로 이사.
- 1991년 혼합 정수 비선형 프로그램 기능(DICOPT)
- 1994년 GAMS는 혼합보완성 문제를 지원한다.
- 1995 MPSGE 언어가 CGE 모델링에 추가되었습니다.
- 1996년 독일 유럽 지사 개설
- 1998년 32비트 네이티브 Windows
- 1998년 확률적 프로그래밍 능력(OSL/SE, POCALY)
- 1999년 GAMS 통합개발환경(IDE) 도입
- 2000년 DOS 및 Windows 3.11 지원 종료
- 2000 GAMS 월드 이니셔티브 시작
- 2001년 GAMS Data Exchange(GDX) 도입
- 2002년 GAMS는 OR/MS 50주년 기념 마일스톤 리스트에 기재되어 있습니다.
- 2003년 코닉 프로그래밍 추가
- 2003년 GAMS 글로벌 최적화
- 2004 품질보증 이니셔티브 시작
- 2004년 2차 제약 프로그램 지원
- 2005년 64비트 PC 운영체제 지원(Mac PowerPC/Linux/Win)
- 2006년식 GAMS는 병렬 그리드 컴퓨팅 지원
- 2007년 GAMS는 COIN-OR의 오픈 소스 솔버를 지원합니다.
- 2007년 Solaris on Sparc64 지원
- 2008년 32비트 및 64비트 Mac OS X 지원
- Amazon Elastic Compute Cloud에서 2009년형 GAM 사용 가능
- 2009년 GAMS는 확장 수학 프로그램(EMP)을 지원합니다.
- 2010년 GAMS는 독일 운영연구회(GOR) 기업상 수상
- GAMS와 Matlab 간의 2010 GDXMRW 인터페이스
- 2010년 Mac PowerPC 지원 종료/12월 Alpha/SGI IRIX/HP-9000/HP-UX
- 2011 외부 기능 라이브러리 지원
- 2011년 Win95/98/ME 및 Win2000 지원 종료
- 2012 인폼 임팩트 상 수상자에는 Alexander Meeraus가 포함되어 있습니다.이 상은 가장 중요한 대수적 모델링 언어 5개의 창시자에게 수여되었습니다.
- 2012 for 객체 지향 API 소개NET, Java 및 Python
- 2012년 코인 OR컵 우승자에는 GAMSlinks의 Michael Bussik, Steven Dirkse 및 Stefan Vigerske가 포함되었습니다.
- 2012년 Mac OS X에서의 32비트 지원 종료
- 2013년 분산 MIP 지원(Cplex)
- 2013년 GAMS EMP의 확률적 프로그래밍
- 2013 GDXRW GAMS와 R 사이의 인터페이스
- 2014년 로컬 검색 해결사 Local Solver가 해결사 포트폴리오에 추가됨
- 2014년 32비트 Linux 및 32비트 Solaris 지원 종료
- GAMS 소스로부터의 2015 LaTeX 문서(모델2TeX)
- 2015년 Win XP 지원 종료
- 2016년 새 경영팀
- 2017 Embedded Code Facility
- 2017 C++ API
- 2017년 "코어" 및 "주변기기" 플랫폼 소개
- 2018 GAMS Studio (베타)
- 2018년 x86-64 Solaris 지원 종료
- 2019 GAMS MIRO - 신속한 오케스트레이션을 통한 모델 인터페이스(베타)
- 2019년 Win7 지원 종료, 주변기기로 32비트 Windows 이동[4]
- 2019년 버전 스킴이 XX로 변경되었습니다.Y.Z.
- 2020 데모 및 커뮤니티 라이선스 제도 도입
- 2020년 대화형 애플리케이션으로 GAMS 모델 배포를 위한 GAMS MIRO(Rapid Orchestration과 모델 인터페이스) 공식 출시
- 2021 클라우드 환경에서 GAMS 작업을 실행하기 위한 새로운 솔루션인 GAMS Engine 공식 출시
배경
GAMS를 발전시킨 원동력은 최적화를 이공계 실생활 문제를 해결하기 위한 강력하고 우아한 프레임워크로 믿었던 수학 프로그래밍 사용자들이다.동시에, 이러한 사용자들은 높은 비용, 기술 요건 및 최적화 툴 적용에 대한 전반적인 낮은 신뢰성으로 인해 좌절했습니다.새로운 개발에 대한 시스템의 이니셔티브와 지원은 대부분 경제학, 금융 및 화학 공학 분야의 문제에 대응하여 이루어졌습니다. 왜냐하면 이러한 분야는 세계를 수학 프로그램으로 보고 이해하기 때문입니다.
GAMS의 개발 추진력은 세계은행의 대규모 경제 모델 그룹의 좌절적인 경험에서 비롯되었다.1970년대에 수학 경제학자들과 통계학자들이 개발 문제를 해결하기 위해 모인 것을 돌이켜보면 역사적인 사고라고 할 수 있다.그들은 농업, 철강, 비료, 전력, 용수 및 기타 부문의 다부문 경제 전체 모델과 대규모 시뮬레이션 및 최적화 모델을 해결하기 위해 당시 이용 가능한 최고의 기술을 사용했다.이 그룹이 인상적인 연구를 수행했지만, 초기 성공은 제대로 작동하는 연구 환경 밖에서 재현하기 어려웠다.이러한 모델을 구축, 조작 및 해결하기 위한 기존 기술에서는 시간이 많이 걸리고 오류가 발생하기 쉬운 수동 번역을 각 솔루션 방법에 필요한 다양한 문제별 표현으로 여러 번 해야 했습니다.세미나 프레젠테이션에서 모델러들은 시간과 비용 문제로 인해 기존 버전의 모델을 비이성적으로 옹호해야 했습니다.특별한 프로그래밍 지식이 필요하고 데이터 형식과 솔루션 방법이 이식되지 않았기 때문에 모델을 다른 환경으로 이동할 수 없었습니다.
대규모 수학 모델을 표현, 조작 및 해결하기 위한 대수적 접근의 개념은 오래된 패러다임과 새로운 패러다임을 일관되고 계산적으로 다루기 쉬운 시스템으로 융합했습니다.선형 프로그램에 생성기 행렬을 사용하면 행과 열을 일관된 방식으로 명명하는 것이 중요하다는 것을 알 수 있습니다.새로운 관계형 데이터 모델과의 연관성이 명확해졌다.이러한 이름 공간을 관리하기 위해 기존의 프로그래밍 언어를 사용한 경험은 자연스럽게 집합과 튜플의 관점에서 생각하게 되었고, 이는 관계형 데이터 모델로 이어졌다.
다차원 대수 표기법과 관계형 데이터 모델을 결합하는 것이 명백한 해답이었다.컴파일러 쓰기 기술은 이제 널리 보급되었고, GAMS와 같은 언어는 비교적 빠르게 구현될 수 있었다.그러나, 이 엄격한 수학적 표현을 알고리즘 고유의 형식으로 변환하려면 매우 큰 시스템에서 편도함수의 계산이 필요했다.1970년대에 TRW는 화학 엔지니어의 아이디어를 받아들여 특정 지점에서 정확히 파생된 점 도함수를 계산하고 일관된 Fortran 스타일의 미적분 모델링 언어에 포함시키는 PRODE라는 시스템을 개발했습니다.그 결과 사용자는 자동으로 생성된 정확한 1차 및 2차 파생 모델을 사용할 수 있게 되었습니다.이것은 선구적인 시스템이었고 개념의 중요한 시연이었다.다만, PRODE에는 많은 단점이 있었습니다.대규모 시스템을 처리할 수 없고, 문제를 나타내는 것은 주소 계산이 필요한 어레이 타입의 데이터 구조이며, 시스템은 최신의 솔루션 방법에 액세스 할 수 없었습니다.선형 프로그래밍을 통해 GAMS는 희소성 활용이 큰 문제를 해결하는 데 핵심이라는 것을 배웠습니다.따라서, 퍼즐의 마지막 조각은 희박한 데이터 구조의 사용이었다.
다음 행으로 시작하는 행*
열 1은 [5]: 32 주석으로 처리됩니다.
샘플 모델
George Dantzig로부터의 전송 문제는 샘플 GAMS [6]모델을 제공하기 위해 사용됩니다.이 모델은 보다 완전한 GAMS 모델을 다수 포함하는 모델 라이브러리의 일부입니다.이 문제는 시장 및 공장의 공급 요건을 충족하는 최소 비용 배송 일정을 찾는 것입니다.
단치히, GB, 3.3장선형 프로그래밍 및 확장에서.프린스턴 대학 출판부, 프린스턴, 뉴저지, 1963년
i 통조림 공장 설정 / 시애틀, 산디에고 / j markets / new-york, 시카고, topeka / ; i 플랜트의 capacity a(i) cases / 시애틀 350 san-diego 600 / b(j) cases / new-york 325 시카고 300 topeka275 / ; 표 d(i,j) 거리(뉴욕 시카고 토페카 시애틀 2.5 1.7 1.8 산디고 2.5 1.6 1.4), 건당 달러 단위 스칼라 f 화물 /90/; 매개 변수 c(i,j) 운송 비용(ca당 수천 달러 단위)se ; c(i,j) = f * d(i,j) / 1000; 변수 x(i,j)의 경우, 변수 x(i,j)의 총 운송 비용; 양의 변수 x; 방정식 비용은 공장 i 수요(j)의 공급 한도를 관찰한다; 비용 ..z =e = sum(i,j), c(i,j)*x(i,j), supply(i) ..sum(j,x(j)) =l=a(i) ; demand(j) ..sum(i,i,j) =g =b(j) ; Model Transport /all/all/; lp display(xl) 최소화) ; sum(xl ).
서브시스템
MPSGE(Mathematical Programming System for General Equilibrium Analysis)는 Arrow-Debreu 경제균형 모델을 공식화하고 해결하기 위해 사용되는 언어이며 GAMS [7]내의 하위 시스템으로 존재한다.
「 」를 참조해 주세요.
- 확장 수학 프로그래밍(EMP) – GAMS 내에서 사용 가능한 수학 프로그래밍 언어의 확장
- GNU MathProg – AMP 기반의 오픈 소스 수학 프로그래밍 언어
레퍼런스
- ^ "40 Distribution". gams.com. Retrieved 2022-08-03.
- ^ Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization (First ed.). Norwell, USA: Kluer Academic Publishers. p. 241. ISBN 978-1-4613-7945-4.
- ^ Toward a General Algebraic Modelling System (PDF). IX. International Symposium on Mathematical Programming. Budapest, Hungary. 1976. p. 185.
- ^ https://www.gams.com/blog/article/news/phasing-out-of-32-bit-support-with-gams-30/?tx_news_pi1%5Bcontroller%5D=News&tx_news_pi1%5Baction%5D=http&cHash=42ad8bd6cb83482b9820e0af6e263f03[데드링크]
- ^ Rosenthal, Richard E (2007). GAMS — A user's guide (PDF). Washington, DC, USA: GAMS Development Corporation. Retrieved 2020-12-20.
- ^ R E Rosenthal (1988). "Chapter 2: A GAMS Tutorial". GAMS: A User's Guide. The Scientific Press, Redwood City, California.
- ^ Rutherford, T. F. (1999). "Applied General Equilibrium Modeling with MPSGE as a GAMS Subsystem: An Overview of the Modeling Framework and Syntax". Computational Economics. 14: 1–4. doi:10.1023/A:1008655831209.