AnyLogic
애니로직 (AnyLogic)은 AnyLogic Company (구: XJ Technologies)에서 개발한 복합 시뮬레이션 모델링 도구이다. 이 소프트웨어는 이산 사건, 에이전트 기반 및 시스템 다이내믹스 시뮬레이션의 구현을 지원한다. AnyLogic PLE 에디션 (Personal Learning Edition)은 현재 개인 학습 및 교육 목적을 위한 용도로 무료로 이용 가능하다.
1990년대 초에 들어서면서 병렬 프로세스의 모델링 및 시뮬레이션에 대한 수학적 접근 방식이 큰 관심을 모으기 시작했다. 이러한 접근법은 병렬 및 분산 프로그램의 정확성 분석에 적용될 수 있는 것이었다. 상트페테르부르크 기술 대학교 (Saint Petersburg Technical University)의 분산 컴퓨터 네트워크 (DCN) 연구팀은 이러한 소프트웨어 시스템을 프로그램의 정확도 분석을 위해 개발했다. 이 새로운 도구는 COVERS (Concurrent Verification and Simulation) 라고 이름 지어졌다. 이 시스템은 시스템 구조와 동작의 그래픽 모델링 표기를 가능하게 했다. 이 도구는 휴렛팩커드 사 (HP: Hewlett-Packard)의 지원을 바탕으로한 연구에 사용되었다.
1998년에 이 연구의 성공은 분산 컴퓨터 네트워크(DCN) 연구실이 새로운 시대의 시뮬레이션 소프트웨어를 개발하는 것을 임무로 하는 회사를 설립하는 계기가 되었다. 개발의 중점은 시뮬레이션, 성과 분석, 확률 시스템의 동작, 최적화 및 시각화와 같은 적용 방법에 놓여 졌다. 2000년에 출시된 새로운 소프트웨어는 객체지향 접근 방식, 표준 UML (Unified Modeling Language)의 요소들, Java의 사용, 현대적 GUI (Graphical User Interface) 등 최신 정보 기술의 이점들을 기반으로 하였다.
이 도구는 잘 알려진 아래의 세 가지의 모델링 접근 방식을 모두 지원하기 때문에 ‘애니로직 (AnyLogic)’ 이라고 이름 지어졌다.
+ AnyLogic은 하나의 모델 안에서 이러한 접근 방식들을 조합하여 모델링 할 수 있도록 한다.
AnyLogic의 첫번째 버전은 AnyLogic 4였는데, 이는 이전의 COVERS 3.0.의 번호를 연속적으로 이어가기 위함이었다.
AnyLogic 5가 출시된 2003년에는 큰 변화가 있었다. 바로 비즈니스 시뮬레이션으로서 다음과 같은 영역에 초점을 맞추기 시작한 것이다.
2014년에는 AnyLogic 7이 출시되었다. 7년만의 가장 큰 출시작으로서, 이는 모델링 구축을 보다 단순화 시키는 것을 목표로 이루어진 상당한 업데이트들을 특징으로 삼고 있으며, 여기에는 다중 기법 모델링, 코딩 필요성의 감소, 새로워진 라이브러리 및 다른 사용자 편리성의 향상과 같은 지원 사항들을 개선시켰다. 또한 2014년에 출시된 AnyLogic 7.1은 소프트웨어에 새로운 GIS (지리정보시스템: Geographic Information System)의 실행을 포함시켰다. 이에 AnyLogic은 형상파일 기반의(shapefile-based) 지도뿐만 아니라, OpenStreetMap과 같은 무료 온라인 공급자들을 통해 타일맵 (tile maps)을 지원하기 시작했다.
2015년에는 내장 데이터베이스 및 유동체 라이브러리 (the Fluid Library)를 포함한 AnyLogiс 7.2를 출시했다. 또한 2015년에는 무료 개인 학습용 에디션(PLE)이 처음으로 선보여졌다.
새로운 도로 교통 라이브러리 (the Road Traffic Library)는 2016년에 출시된 AnyLogic 7.3 버전을 통해 소개되었다.
가장 최근인 2017년에는 AnyLogic 8이 출시되었다. 8.0 버전의 출시를 시작으로, AnyLogic의 모델 개발 환경은 시뮬레이션 분석을 위한 웹서비스인 AnyLogic Cloud와 통합되었다.
AnyLogic 8의 모델 개발 환경은 Eclipse이다. AnyLogic은 크로스 플랫폼 시뮬레이션 소프트웨어로서 Windows, Mac OS 그리고 Linux에서 실행 가능하다.
AnyLogic은 그래픽적인 모델링 언어를 포함하며, 또한 사용자들이 Java 코드를 통해 시뮬레이션 모델들을 확장시킬 수 있도록 한다. 따라서 Java를 기반으로 하는 AnyLogic은 어떠한 표준 브라우저에서도 열릴 수 있는 Java 애플릿의 구축뿐만 아니라 Java 코딩을 통한 사용자 정의 모델을 확장하는 데에 적합하다. 이러한 애플릿들은 AnyLogic 모델들을 매우 쉽게 웹사이트 상에서 공유하거나 구현시킬 수 있도록 한다. 더 나아가 Java 애플릿뿐만 아니라, 프로페셔널 버전은 사용자들에게 배포될 수 있는 Java 런타임 응용 프로그램들의 생성을 지원한다. 이와 같은 완전한 Java 응용 프로그램들은 의사 결정 지원 도구들을 위한 기반이 될 수 있다. 그러나, 보안 상의 이유로 많은 인터넷 사용자들이 Java 애플릿 지원을 비활성화 해왔다는 점은 유의할 필요가 있다.
AnyLogic 모델은 다음과 같은 주요 시뮬레이션 모델링의 전형적인 예제들을 기반으로 한다. : 이산 사건 또는 프로세스 중심 (DE), 시스템 다이내믹스 (SD) 및 에이전트 기반 (AB).
시스템 다이내믹스와 이산 사건은 전통적인 시뮬레이션 접근 방식이며, 에이전트 기반은 보다 최신의 방식이라고 할 수 있다. 기술적으로 시스템 다이내믹스 처리 방식은 연속적인 공정을 다루는 반면, “이산 사건” (프로세스 중심 시뮬레이션 접근 방식으로도 알려져 있는 범용 시뮬레이션 시스템 – General Purpose Simulation System: GPSS – 의 모든 후속작들을 의미함) 및 에이전트 기반 모델은 대개 이산 시간을 다루며, 예를 들어 특정한 이벤트에서 다른 이벤트로의 이동과 같은 것을 다룬다.
시스템 다이내믹스와 이산 사건 시뮬레이션은 역사적으로 대학교에서 경영 및 경제, 산업 및 운영 연구 엔지니어와 같이 매우 다른 그룹의 학생들을 대상으로 교육되어 왔다. 그 결과 서로 대화를 나누지 않는 두 부류의 상이한 관련 전문가 그룹이 이 분야에 형성되었다.
최근까지 에이전트 기반의 모델링은 대개 순수한 학문적 주제로만 머물러 있었다. 그러나 국제 비즈니스 최적화에 대한 수요의 증가는 모델 개발자들이 매우 이질적인 성질을 가진 복잡한 상호의존적인 공정들에 대해 보다 깊이있는 통찰력을 가질 수 있도록 하는 혼합형 접근 방식을 모색하도록 만들었다.
어떻게 모델링 방법이 추상화 수준과 일치할 수 있을까? 집계를 다루는 시스템 다이내믹스는 분명히 가장 높은 추상화 수준에 사용된다. 이산 사건 모델링은 중간 정도의 추상화 수준에 사용되고 있다. 에이전트 기반의 모델링에 대해서 말하자면, 이 기술은 모든 수준의 추상화에 걸쳐서 사용된다고 할 수 있으며, 이는 에이전트가 매우 다양한 성질과 규모를 가진 대상들을 모델링 할 수 있기 때문이다. “물리적” 수준에서는, 예를 들어 에이전트는 보행자 또는 자동차 또는 로봇과 같은 것이 될 수 있고, 중간 수준에서는 고객, 그리고 가장 높은 수준에서는 경쟁사들이 될 수 있다.
AnyLogic은 동일한 모델 안에서 모델 개발자가 이러한 시뮬레이션 접근 방식들을 통합할 수 있도록 돕는다. 고정된 계층이 있는 것이 아니다. 즉, 한 가지 예를 들자면, 개발자는 포장물 운송 산업 모델을 만들 수 있는데, 이 안에서 운송 차량이 독립적으로 행동/ 반응하는 에이전트로 모델링 된다면, 운송 및 기반시설 연결망의 내부적인 작업들은 이산 사건 시뮬레이션으로 모델링 할 수도 있다. 비슷하게, 개발자는 개별적인 에이전트에 의존할 필요가 없는 수입이나 비용과 같은 흐름을 포착하는 시스템 다이내믹스 모델을 충족시키는 총체적인 행동을 가진 소비자들을 에이전트로서 모델링 할 수도 있다. 어떤 한 가지 접근법을 통해 모델링하는 절충안들이 있다고 하더라도, 이렇게 언어적으로 혼합된 접근 방식은 매우 다양한 복합 모델링 문제들에 직접적으로 적용될 수 있다.
AnyLogic의 시뮬레이션 언어는 다음과 같은 요소들로 구성되어 있다.
언어에는 또한 다음과 같은 것들이 포함된다. : 낮은 수준의 모델링 구조 (변수, 방정식, 매개 변수, 이벤트 등), 프레젠테이션 도형들 (직선, 폴리선, 타원형 등), 분석 기능 (데이터 세트, 막대 그래프, 좌표 기록), 연결 도구, 표준 이미지, 그리고 실험 프레임워크.
AnyLogic은 다음과 같은 표준 라이브러리를 제공한다. :
뿐만 아니라, 위와 같은 표준 라이브러리 사용자들은 자신만의 특별한 라이브러리를 구성하거나 배포하는 것이 가능하다.
AnyLogic 은 상호적인 2D 및 3D 애니메이션을 지원한다.
AnyLogic 에서 사용자들은 DXF 파일의 형태로 CAD 드로잉을 불러오기 할 수 있으며, 이 위에 모델을 시각화 하는 것도 가능하다. 이 기능은 공장, 물류 창고, 병원 등 특정 대상의 내부 프로세스를 애니메이션화 하는데 사용될 수 있다. 이러한 기능은 대개 제조업, 의료서비스, 토목 공학, 그리고 건축 분야에서 이산 사건 (프로세스 기반)을 모델링 하는데 사용된다. AnyLogic 소프트웨어는 또한 3D 애니메이션을 지원하며, 건축물, 도로, 철도, 해양, 운송, 에너지, 물류 창고, 병원, 장비, 공항관련 사항들, 슈퍼마켓관련 사항들, 크레인 및 기타 다른 대상들과 같은 다양한 산업과 관련된 3D 애니메이션을 바로 만들 수 있는 모음집을 포함하고 있다.
모델은 사용자들이 입력 데이터값을 변경하고 환경설정을 할 수 있도록 하는 사용자 정의 UI 구성요소도 포함하고 있다.
AnyLogiс 모델은 공급망, 유통, 그리고 운송 산업에서 종종 요구되는 레이아웃 형태인 지도를 사용할 수 있다. AnyLogic 소프트웨어는 Esri 사의 전통적인 쉐이프 파일 기반의 (shapefile-based) 표준 지도인 SHP형식을 지원한다. 더 나아가, AnyLogic은 OpenStreetMap을 포함하여 무료 온라인 공급자의 타일맵 (tile maps)도 지원하고 있다. 타일맵은 모델 개발자가 모델 안에서 지도 정보 및 에이전트를 위한 지형공간 루트를 자동적으로 생성할 수 있도록 한다. AnyLogic의 타일맵 기능은 다음과 같은 요소들을 포함하고 있다. :
AnyLogic의 모델은 다른 소프트웨어와 통합되거나 별도로 실행가능한 Java 애플리케이션의 형태로 내보낼 수 있다. 하나의 선택 사항으로서, 내보내진 AnyLogic 모델은 다른 종류의 소프트웨어 안에서 ERP, MRP, RMF, 그리고 TMS 시스템에 추가적인 모듈로서 작동할 수 있다. 다른 일반적인 사용에는 AnyLogic의 모델과 TXT, MS Excel, Ehsms MS Access 파일들 및 데이터베이스 (MS SQL, My SQL, Oracle 등)와의 통합이 있다. 또한 AnyLogic 모델은 HSQLDB에 기반한 자체 데이터베이스를 포함하고 있다.
AnyLogic Cloud 는 시뮬레이션 분석을 위한 웹 서비스이다. 이는 애니로직 사용자들이 온라인을 통해 실험 결과를 분석할 뿐만 아니라 시뮬레이션 모델을 저장하고, 보다 쉽게 접근하며, 이를 실행시켜 보고, 공유할 수 있도록 한다.
AnyLogic 모델 개발 환경을 사용하여 사용자들은 AnyLogic Cloud에 자신들의 모델을 업로드 할 수 있으며, 온라인에서 모델 작업을 위해 공유가능한 웹 대시보드를 만들 수도 있다. 이러한 대시보드는 구성가능한 입력 변수 및 출력 자료를 차트와 그래프의 형태로 담을 수 있도록 한다. 모델 사용자들은 입력 변수를 대시보드 화면에 설정하고, 모델을 실행시키고, 결과를 분석할 수도 있다.
AnyLogic Cloud는 서버 사이드에서 모델이 실행될 수 있도록 함으로써 데스크탑 컴퓨터와 모바일 장치에서 웹 브라우저를 통해 사용자들이 모델을 실행시킬 수 있도록 지원한다. 복수의 실행 시험들은 여러 접속점을 사용함으로써 실행된다. 실행된 모든 실험 결과들은 데이터베이스에 저장되며, 바로 접근이 가능하다. 모델은 HTML5 기반의 상호기반의 애니메이션이 있든 없는 두 가지 상황에서 모두 실행이 가능하다.
개발자들은 다른 AnyLogic 사용자들이 개발한 모델들을 포함하고 있는 모델 라이브러리에 자신들이 직접 개발한 모델을 개인적으로 사용할 것인지 공개할 것인지 선택할 수 있다.
2015년부터 AnyLogic 개인 학습용 에디션 (Personal Learning Edition: PLE) 이 자기 학습 및 교육 목적을 위해 무료로 제공되고 있다. PLE 버전의 라이선스는 영구적이지만, 모델을 만들 때 규모의 제한이 있다.
교육 기관에서의 공공 연구를 위한 목적의 경우 사용자는 할인된 가격의 대학 연구원 (University Researcher) 에디션의 라이선스를 구입할 수 있으며, 이는 모델 규모에 제약이 없고 전문가 에디션의 많은 기능들을 포함하고 있다.
AnyLogic 은 공급망 시뮬레이션을 위한 특정한 라이브러리를 포함하고 있지 않은데, 이는 애니로직 사 (The AnyLogic Company)가 이 분야는 따로 anyLogistix라는 전문화된 도구로 전환하여 개발시켰기 때문이다. 이 스핀오프 제품은 2014년에 처음으로 AnyLogic Logistics Network Manager라는 이름으로 출시되어 2015년에 anyLogistix로 다시 이름 지어졌다.
anyLogistix는 AnyLogic 엔진, 지리정보시스템(GIS), 그리고 새로운 산업 지향의 사용자 그래픽 인터페이스 (GUI)를 기반으로 하고 있다. 이는 또한 공급망 디자인과 최적화에 특화된 알고리즘과 기술들을 포함하고 있다. anyLogistix는 완전히 AnyLogic과 통합 가능하며, 예를 들어 AnyLogic이 anyLogistix 안에서 물류 창고, 생산지, 공급자, 재고, 대외구매, 및 운송 정책과 같은 대상의 최적화를 위해 사용될 수 있다. 더 나아가, anyLogistix는 최적화 문제를 다루기 위해 IBM ILOG CPLEX Optimization Studio를 사용하고 있다.