심피
SimPy| 원본 작성자 | 클라우스 G. 뮐러, 토니 비뇨 |
|---|---|
| 개발자 | 온테 룬스도르프, 스테판 셔프케 |
| 최초 공개. | 2002년 9월 17일 ( |
| 안정적 해제 | 4.0.1 / 2020년 4월 15일; 전 |
| 리포지토리 | |
| 기록 위치 | 파이톤 |
| 운영 체제 | 크로스 플랫폼 |
| 유형 | 이산 이벤트 시뮬레이션 |
| 면허증 | MIT |
| 웹사이트 | simpy |
심피(SimPy)는 표준 파이썬을 기반으로 한 프로세스 기반 이산 이벤트 시뮬레이션 프레임워크다.이 회사의 이벤트 디스패처는 파이썬의 발전기를 기반으로 하며 비동기 네트워킹이나 다중 에이전트 시스템(모사 및 실제 통신 모두 포함) 구현에도 사용할 수 있다.
SimPy의 프로세스는 간단한 Python 생성기 기능으로 고객, 차량 또는 에이전트와 같은 활성 구성요소를 모델링하는 데 사용된다.심피는 또한 제한된 용량 정체 지점(서버, 계산대, 터널 등)을 모델링하기 위해 다양한 유형의 공유 리소스를 제공한다.버전 3.1부터는 리소스 및 프로세스에 대한 통계를 수집하는 데 도움이 되는 모니터링 기능도 제공할 예정이다.
심피 3.0은 파이썬 2에서 3으로 바뀐다.[1]
시뮬레이션은 "가능한 한 빨리", 실시간(월 클럭 시간) 또는 수동으로 이벤트를 단계별로 진행함으로써 수행될 수 있다.
SimPy로 지속적인 시뮬레이션을 하는 것은 이론적으로 가능하지만, 그것을 실행할 수 있는 기능은 없다.그러나 SimPy는 프로세스가 서로 상호 작용하지 않거나 공유 리소스와 상호 작용하지 않는 고정된 단계 크기로 시뮬레이션에 지나치게 의존하고 있다. 즉 간단한 사용while이 사건을 반복하다
SimPy 분포에는 자습서,[2] 상세 문서 및 많은 예제가 포함되어 있다.
Simpy 4.0은 Python 3.6+가 필요하다.
심피는 MIT 라이선스에 따라 오픈소스 소프트웨어로 출시된다.첫 번째 버전은 2002년 12월에 발매되었다.
예
심피의 주요 목표 중 하나는 사용하기 쉬운 것이다.간단한 SimPy 시뮬레이션의 예: 각 단계에서 현재 시뮬레이션 시간을 인쇄하는 클럭 프로세스:[3]
>>>수입하다 심피 >>> >>>반항하다 시계를 맞추다(부러워하다, 이름을 붙이다, 진드기를 치다): ... 하는 동안에 진실의: ... 인쇄하다(이름을 붙이다, 부러워하다.지금 당장) ... 양보하다 부러워하다.타임아웃(진드기를 치다) ... >>>부러워하다 = 심피.환경() >>>부러워하다.과정(시계를 맞추다(부러워하다, '빠르다', 0.5)) < 0x의 공정(클록) 객체...> >>>부러워하다.과정(시계를 맞추다(부러워하다, '느림', 1)) < 0x의 공정(클록) 객체...> >>>부러워하다.달리다(까지=2) 단식 0 느린 0 단식 0.5 느린 1 빠른 1.0 단식 1.5 참조
- ^ "SimPy History & Change Log — SimPy 4.0.2.dev1+g2973dbe documentation".
- ^ Zinoviev, Dmitry (February 2018). "Discrete Event Simulation. It's Easy with SimPy!". PragPub (104): 1–16.
- ^ Scherfke, Stefan (July 25, 2014). "Discrete-event simulation with SimPy" (PDF). p. 5. Retrieved August 10, 2016.