SimPy 기초
작성날짜: 2024-01-09
이승윤(lazyman@hanyang.ac.kr)
1. SimPy란?
3. Clock예시와 environment
2. 생성자와 timeout
1. process 기반 이산사건기반 시뮬레이션 프레임워크��2. SimPy는 프로세스, 이벤트 및 리소스를 정의하고 관리할 수 있는 시뮬레이션 환경을 제공��3. SimPy의 사용으로 여러 프로세스 간에 공유할 수 있는 시스템, 서버 또는 시설과 같은 리소스를 모델링��4. SimPy는 대기 라인이나 버퍼를 모델링하고 관리할 수 있는 Queue 클래스를 제공��5. SimPy에는 시뮬레이션 중에 생성된 데이터를 수집하고 분석하기 위한 통계 기능과 도구가 포함��
1. SimPy 기초
3
생성자(Generator): yield 키워드에 의해 생성되는 값. � 저장된 값을 출력하는 return과는 다르게 생성자는 즉석에서 값을 생성.
2. 생성자와 timeout
4
Return을 통해 값을 반환하면 List에 저장된 값을 한꺼번에 반환함
생성자를 통해 값을 반환하면 하나씩 만들어냄
timeout: SimPy의 시뮬레이션에서 이벤트를 생성하는 함수� � timeout을 사용하면 원하는 시점에 이벤트를 예약을 할 수 있음�� yield 문과 같이 사용되며, 반복적인 이벤트를 생성 할 때는 while문을 활용�� yield 문 아래에서 작성된 코드는 일종의 함수의 역할을 하며 이벤트를 진행함�� Ex: yield timeout(3)은 3만큼의 시간이 흐른 시점에 이벤트를 예약하라는 명령어
2. 생성자와 timeout
5
Environment: SimPy 시뮬레이션의 환경을 만들어 주는 명령어� 일종의 구조체로, 시간을 진행 시키거나, process를 통해서 이벤트를 정의��Clock예제: 일정 시간마다 tick을 생성하는 코드� very_fast_clock은 0.1 초마다, fast_clock은 0.5초 마다 , � slow_clock은 1초마다 tick을 생성�
3. Environment 와 clock예제
6