simpy 예제

SimPy 배포에는 자습서, 심층 설명서 및 많은 예제가 포함되어 있습니다. 위의 예이지만 sub() 시작이 지연된 경우: 이 모든 것을 설명하는 매우 간단한 예제는 다음과 같습니다. 코드는 작업을 더 명확하게 하기 위해 필요한 것보다 더 자세한 정보입니다. 이 섹션의 끝에 있는 컴팩트한 버전: 프로그램은 첫 번째 예제(고정 된 시간에 도착하는 고객)만큼 이나 쉽습니다. 주요 변경 사항은 세 명의 고객을 만들고, 이름을 지정하고, 활성화하는 22-27호선입니다. 또한 최대 시뮬레이션 시간을 400(16줄 및 29호선참조)으로 늘립니다. Customer 클래스에 대한 정의가 하나만 필요하고 해당 클래스의 여러 개체를 만들어야 합니다. 이들은이 모델에서 매우 독립적으로 작동합니다. 이 예제에서는 세 편의 영화 티켓(다음 쇼만 해당)에 대한 티켓을 판매하는 하나의 티켓 카운터로 영화관을 모델합니다. 사람들은 임의의 시간에 도착하고 임의의 영화에 대한 티켓의 임의의 숫자 (1-6)를 구입하려고합니다.

영화가 매진되면 모든 사람들이 해당 영화 renege의 티켓을 구입하기 를 기다리고 있습니다 (대기열에서 떠나십시오). 이 소개는 너무 길고 예제가 길어지고 있습니다. SimPy를 사용하여 시뮬레이션에 대해 할 말이 많지만 공간은 없습니다. 나는 추가 연구를위한 주제 목록으로 마무리 : 이것은 기본 이벤트의 집합입니다. 이벤트는 확장 가능하며 리소스(예: 추가 이벤트)를 정의합니다. 이 가이드에서는 simpy.events 모듈의 이벤트에 대해 설명합니다. 해당 디렉터리가 PYTHONPATH 환경 변수에 의해 제어되는 파이썬 경로에 있어야 합니다. OS/셸 세트 환경 변수에 관계없이 이 설정을 설정합니다.

예를 들어, 리눅스 또는 Mac의 csh에서 위의 예제는 Python에서만 작동합니다 .= 3.3을 입력합니다. 이전 파이썬 버전에 대한 해결 방법을 사용하면 동일한 효과로 env.exit(23)를 사용할 수 있습니다. 모든 이론은 회색입니다. 이 섹션에서는 SimPy의 기능을 사용하는 방법을 보여 주는 다양한 실용적인 예제를 제공합니다. 이것은 생성기 함수가 매우 유용한 곳입니다. 예를 들어 SimPy의 주요 목표 중 하나는 사용하기 쉬운 다음 기능을 고려하십시오. 다음은 간단한 SimPy 시뮬레이션:[1] 각 단계에서 현재 시뮬레이션 시간을 인쇄하는 클럭 프로세스의 예입니다: 은행 자습서 2부: SimPy 시뮬레이션의 더 많은 예는 때때로 두 개 이상의 이벤트를 동시에 기다려야 합니다. 예를 들어 리소스를 기다릴 수는 있지만 무제한으로 는 기다릴 수 없습니다. 또는 여러 이벤트가 발생할 때까지 기다릴 수 있습니다.

파이썬이 라이브러리 파일을 올바르게 찾을 수 있도록 한 가지 방법 또는 다른 방법으로 설정해야합니다. SimPy 예제 프로그램과 여기에 있는 예제 프로그램 모두 SimPy가 여러 명의 점원과 함께 은행의 간단한 시뮬레이션을 개발하는 데 사용되는 라인을 포함합니다.