본문 바로가기

석박사

(62)
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 에 맞춰서 구현하면 성능이 얼마나 좋아질지를 다뤄볼 것이다..
0에서 1로 가는길 (박사과정 4년차에 접어들며) 최근에 크게 힘들었을때 블로그에 스탠포드에서의 박사 과정 경험을 기록하시는 민아님이 본인의 슬럼프 시절 경험 일기를 읽으며 위로 받았던 경험이 있습니다. 다들 각기 다른 경험을 하겠지만 제가 겪는 과정이 어떻게 보면 박사과정동안 누구나 겪을 수 있는 수준의 고난일거라는 생각이 들면서 위로가 되더라고요. 그때 이 우울감에서 벗어난다면 어떻게 벗어났는지 적기로 다짐했습니다. 저에게 득이 되는 글이 될 것 같지는 않지만 최대한 솔직하게, 최근에 겪었던 실패나 실망속에서 배우고 깨달았던 것들을 적어볼까 합니다. 박사과정 4년차가 되었다. 누군가 곧 졸업하네~ 하고 말해서 나 아직 많이 남았어~ 하고 대답했더니 적어도 시작보다 끝에 더 가까운 시기라고 했다. 박사과정의 중반을 지나오면서 지금까지의 과정을 기록하고..
Things to do in Ithaca 이타카에서 할거 추천목록 TODO Do glamping in Firelight Camps : (highly recommended). https://goo.gl/maps/ojLqP8ER4wDYCfgT8 Inns of Aurora: (people say dine in is also good) https://goo.gl/maps/EsojvvX1WLafWMfK6 Lindseth Climbing Center: indoor climbing https://goo.gl/maps/EbPUeGr4T2RSxdik7 Indian Creek Farm: apple/crop picking https://goo.gl/maps/VNYDQJw4xGLTTsGy9 Pickleball Mania https://goo.gl/maps/zDq5R1vGUDyma7uH9 R..
커버 레터 쓰는법 (How to write cover letter) 커버 레터를 쓰는 이유 Job application, research position, fellowship, academic job 등등 지원할때 종종 요구된다. 커버레터는 Resume/CV 혹은 SOP와 다른데 나의 개인적인 이야기를 더 할 수 있는 기회이다. 특히 미국 문화에서 중요한데 정량적인 것, 스펙의 나열을 넘어서서 나라는 사람이 어떤지 보여줄 수 있는 수단으로 쓸 수 있다. 템플릿 [Paragraph 1] 내가 누구인지 (background/qualification), 왜 내가 이 자리에 관심 있는지, how I learn how the position [Paragraph 2, 3] Resume 에서 더 강조하고 싶은 셀링 포인트 (예를 들자면 skill, experience related ..
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..
nonlinear convex optimization을 푸는 CVXOPT 솔버 https://cvxopt.org/userguide/solvers.html Nonlinear Convex Optimization — CVXOPT User's Guide F(x), with x a dense real matrix of size (, 1), returns a tuple (f, Df). f is a dense real matrix of size (, 1), with f[k] equal to . (If is zero, f can also be returned as a number.) Df is a dense or sparse real matrix of size ( + 1, ) with Df[k,:] equal cvxopt.org nonlinear convex optimization 문제를 위한 ..
Leetcode Dynamic Programming 정복 커리큘럼 좋은 솔루션을 접하지 않은 채로 여러 문제를 풀어보다보면 논리가 계속 꼬이고 코드가 복잡해지는것을 느낄 수 있을 것이다. 아래 영상은 Dynamic programming 문제들을 5가지 패턴으로 유형화하여 제시한다. 생각의 논리 전개는 다음과 같이 진행하는게 좋다. Step1. 간단한 예시를 이용해 Brute-force decision tree 그려보기 -- 이때 주로 time complexity 가 O(n). 그 후 타임아웃이 뜰 것을 염두에 두면서 recursive function을 구현해보기. Step2. 그린 Decision tree 예시를 보면서 겹치는 연산을 찾아내기. 이를 memoization 할 방법을 고민해보기. 1-d array 일수도, 2-d array 일 수도 있다. 인덱싱에서 꼬이..