Python(3)
-
[simpy] 02. Interrupt를 포함한 예제 만들기 - 비행기 주유 프로세스
이번 포스팅에서 만들어볼 예제문제는 Airplane과 관련된 문제입니다.예제1.우리는 Airplane 주유 process를 시뮬레이션해보려고 합니다.앞선 포스팅에서 만들었던 Car 예제처럼 Airplane이 Trip과 Charging을 반복합니다. 다만, 여기서는 Charging이 끝나고 나면 새로운 Airplane이 주유소로 들어옵니다.앞선 예제와 다른 점은, 중간에 어떤 이유로 Interrupt가 발생하여 process가 중단됩니다.Trip duration = 2Charging duration = 5Intterupt at time 3이번에는, 앞선 예제와 다르게 Airplane이라는 class를 만들어서 동작시켜 보겠습니다.1. Airplane이 동작하는 함수 만들기 airplane class안에 ..
2024.05.07 -
[simpy] 01. python으로 시뮬레이션 만들기 - simpy 이해하기
본격적으로 simpy를 이용한 시뮬레이션 문제를 풀어보기에 앞서서, simpy에 대한 기본적인 설명을 시작하겠습니다. Simpy란? python을 기반으로 하는 프로세스 기반 DES 프레임워크연속적인 시뮬레이션도 가능하지만, 'No features that help you with that..^^'''Simpy DES Kernel주요 클래스: Environment, Event, ProcessSimpy 작동 원리Environment 객체 정의Process 객체 생성각각의 Process 제너레이터에서 Event 객체 생성Event 객체를 Environment queue에 스케줄링Queue의 Event를 시간 순서대로 처리시뮬레이션의 time을 나타내는 _now 업데이트처리된 Event를 발생시킨 Proces..
2024.05.04 -
[simpy] 00. python으로 시뮬레이션 만들기 - 환경세팅
앞으로 볼 포스팅들은 python 패키지 중 하나인 simpy를 이용해서 DES(Discrete-Event Simulation) 문제를 풀어보는 이론과 실습을 포함하고 있습니다.그 중 가장 첫 순서로 DES 시뮬레이션이 무엇인지 알아보고, 간단하게 simpy 환경을 세팅하는 방법을 포스팅할 예정입니다.DES 시뮬레이션이란?DESSimpy왜 python을 사용하나?시뮬레이션 프로그램은 굉장히 많습니다. 시뮬레이션 목적에 맞는 tool을 사용하면 되는데, Arena, Anylogic, Simio와 같은 프로그램들은 전처리가 필요하고, customize하기가 다소 어렵다는 한계가 있습니다.Open source로 제공되는 C++기반의 PowerDEVS, System C, Java기반의 Ptolemy2, DESM..
2024.05.04