정보공유(6)
-
[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 -
[설계 최적화 이론] Gradient method - Newton's method
Gradient method의 두 번째 포스팅입니다. 다섯가지 방법론이 있다고 말씀드렸는데, 지난번 포스팅에서 가장 간단한 Steepest Descent Method와 Conjugate Gradient Method에 대해 공부해보았습니다. 이번 포스팅에서는 뉴턴법(Newton's method)을 공부해보려고 합니다. 뉴턴법은 방정식 f(x)=0의 해를 근사적으로 구하는 방법으로, 너무 복잡한 방정식이라 수리적인 방법으로 접근이 어려울 때 사용하면 좋다. 현재 x값에서 x를 이동해가면서 점진적으로 해를 찾아가는 방법이다.
2023.10.04 -
[설계 최적화 이론] Gradient Method - Steepest Descent Method, Conjugate Gradient Method
이번 포스팅은 최적화문제(Optimization Problem)의 Unconstrained Optimization method 중에서도 Gradient method의 다섯 가지 method에 대해 하나씩 공부해보겠습니다. 잠깐 다시 짚어보자면, 최적해를 찾기 위한 방법은 Starting point부터 점차적으로 최적해를 찾아가도록 수많은 iteration을 통해 point를 improve해 나가는 Direct한 방법과 소위 최적조건(Optimality Condition)을 만족하는 어떠한 방정식을 풀어나가는 Indirect한 방법이 있습니다. Indirect한 방법은 iteration이나 starting point가 필요없고, 최적해를 만족하는 조건이 방정식으로 정의될 수 있어야 합니다. 자, 그럼 본격..
2023.10.04 -
[설계 최적화 이론] Optimization Problem 개요
2023년 2학기 조선해양공학과 대학원 전공 수업인 “선박 설계 자동화 특강“에서 배운 내용을 공부하면서 정리하고자 블로그 글을 써 나가보려 합니다 먼저 설계 최적화와 관련된 용어, 개념에 대해 정리한 후에 최적화 이론에 대해 하나하나 짚어볼 계획입니다. Optimization Problem이란? 우리가 문제를 풀 때, 찾아야 하는 미지수(Variable)의 수와 알고 있는 방정식(Equation)의 수가 동일하다면, 간단한 연립방정식으로 문제를 풀 수 있습니다. 근데 만약 수가 다르다면 어떨까요? Variable의 수가 Equation의 수보다 크다면, Indeterminate system이라고 합니다. 같으면 Deteminate system이라고 볼 수 있죠. Indeterminate system 문..
2023.10.04