본문 바로가기

석박사/최적화는 사기가 아니얏!

(12)
교통 공학자를 위한 최적화 (노베이스 공부법, 작성중) 본 포스팅은 교통 공학자가 최적화 방법론을 활용한 연구를 진행하기 위해 필요한 선행 지식들 (1) 최적화 식 포뮬레이션 방법, (2) 복잡한 문제의 근사법과 해결법 (3) 솔버 추천, 구현 및 디버깅 방법 을 다룹니다. Prerequisite.최적화 문제의 구성 요소 (결정변수, 목적함수, 제약식) 에 대해 알고 있다.Optimal solution, lower bound, upper bound 가 무엇인지 알고 있다.Linear programming 과 Convex programming 의 standard form 에 대해 알고 있다.  최적화 식 포뮬레이션.기본적으로 최적화의 기초를 알고 있고 decision variables, objective function, constraints 이 무엇인지 설명..
Gurobi 로그 파일 시각화 (log file visualization) Gurobi 로그 파일을 보면 대강 이렇게 생겼다. 저 노드정보에 있는 Gap 이랑 Time 을 시각화하고 싶었는데 은근 파싱하기가 까다로웠다. 이렇게 어려울리 없어! 하고 찾아낸게 다음 라이브러리. https://github.com/Gurobi/gurobi-logtools GitHub - Gurobi/gurobi-logtools: Extract and visualize information from Gurobi log files Extract and visualize information from Gurobi log files - GitHub - Gurobi/gurobi-logtools: Extract and visualize information from Gurobi log files github.c..
Gurobi Constraint Matrix Format 으로 작성하기 Gurobi 코드를 어떻게 작성하느냐에 따라서 연산 시간이 달라진다는 것을 예전부터 들어서 알고 있었다. 가능한 원인을 조금 더 자세히 살펴보자면.. 1. Model 을 불러오는데 시간이 오래 걸리는 경우 2. Solution 을 찾는데 시간이 오래 걸리는 경우 이다. 전자의 경우에는 변수 이름을 다 생략해버리고 variables 이나 constraints 를 구성하기 위한 for 문을 잘 설계함으로써 (불필요한 iteration 을 피할 수 있게 함으로써) 줄일 수 있다. 나는 두번째 경우에 초점을 맞춰서 포스팅을 해볼까 한다. MILP 를 다룰 것이고 제목에서 언급했듯 제약식을 한줄한줄 hard coding 하는게 아니라 matrix form 에 맞춰서 구현하면 성능이 얼마나 좋아질지를 다뤄볼 것이다..
Operations Research Cheat Sheet Technical Interview This is a cheat sheet in operations research for preparing technical interviews. We will skim through the types of Mathematical Program that is commonly used and the solution techniques for the programing. Types of Mathematical Program¶ Objective function Constraints Variable Solution approach Linear Program Linear Linear real Simplex method Mixed Integer Linear Program Linear Linear integer & r..