Optimization

최적화

[Julia] Julia Programming for Operations Research : Chap 6-3 응용 – 최단거리 구하기 및 표시

책 Julia Programming for Operations Research 2/e 의 chapter 6의 6.3 The Shortest Path Problem에 대한 응용 사례 LightGraphs를 사용하여 가중치 네트워크에서 최소비용등 조건을 만족하는 최단거리를 구하고 GraphPlot을 사용하여 네트워크 그래프와 최단거리를 표시한다. 아래 그림에서 숫자는 노드 이며 100개로 구성되어 있다. 이 노드들간 가중치가 있으며 이 때 최단 거리를 구성하는 노드는 노란색으로 표시했고 최단 경로는 […]

[Julia] Julia Programming for Operations Research : Chap 6-3 응용 – 최단거리 구하기 및 표시 Read More »

[Julia] Julia Programming for Operations Research : Chap 6-1 예제

책 Julia Programming for Operations Research 2/e 의 chapter 6의 The Minimal-Cost Network-Flow Problem 예제 코드를 조금 수정한 버전 입니다. Optimizer를 GLPK 대신 Gurobi를 사용 했고 일부 코드를 조금 더 심플하게 바꾸었습니다. 예제는 Jupyter notebook 입니다. 파일은 –> 여기 데이터 파일은 -> 여기 , 여기 파일에서 아래 부문의 실행 시간이 11.8 초로 꽤 길게 나오는데

[Julia] Julia Programming for Operations Research : Chap 6-1 예제 Read More »

[Tip] Gurobi optimizer 설치 및 Academic 라이선스 파일 생성

gurobi의 가격이 1user당 $10,000이다 보니 학생 신분으로 얻을 수 있는 Academic 라이선스가 아니면 엄두가 나지 않는다. 비즈니스 trial 30일 라이선스 신청도 시간이 오래 걸린다. 아카데미 라이선스는 학교 다니는 주변 지인이 있는 경우 쉽게 얻을 수 있다. 아주 쉽게 나도 어찌어찌 아카데미 라이스선를 발급 받을 수 있는 키( XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX )를 얻게 되었는데 실제 라이선스 파일 발급은

[Tip] Gurobi optimizer 설치 및 Academic 라이선스 파일 생성 Read More »

Julia에서 시계열 데이터 처리 예제 – 병렬처리 (with GP)

해당 제목에 대한 내용은 기존에 올린 “Julia에서 시계열 데이터 처리 예제”들을 참조 하면됩니다. 여기서는 다중 프로세스로 Genetic Programming(GP)을 병렬처리 하는 방법을 보여 줍니다. 다중 프로세스가 train, test할 데이터는 SharedArray로 공유 합니다. 아래 모듈은 “/home/shpark/julia_test/exproptimizatoin/examples” 폴더 있다고 가정WS.jl : 연습용 데이터를 만드는 모듈 / 이 게시글에서는 WindowSlider 구조체만 사용함GP2.jl: Genetic Programming 적용 모듈아래에 소스를 게제 합니다.그리고

Julia에서 시계열 데이터 처리 예제 – 병렬처리 (with GP) Read More »

Julia에서 시계열 데이터 처리 예제 (2#2) – 업그레이드

Julia에서 시계열 데이터 처리 예제 (2#2) 글에서 Genetic Programming 부분에서 grammar를 동적으로 생성 될 수 있게 구조를 바꾸었다. 이전 (#2/2) 에서는 grammar 작성시 입력되는 변수 예를 들어 x1,x2,..,x21을 미리 설정하였으나 이 버전에서는 입력되는 데이터를 읽어 데이터 계열 수 만큼 즉 변수 갯수 만큼 grammar에 들어가는 변수를 자동 생성 한다. 구현소스(Julia Notebook – html 버전)

Julia에서 시계열 데이터 처리 예제 (2#2) – 업그레이드 Read More »

Julia에서 시계열 데이터 처리 예제 (2#2)

ML Approaches for Time Series을 참조 했으며 해당 자료는 python으로 구현 되었다. 여기서는 Julia로 바꿔서 구현 하였다. 특히 Genetic Programming을 사용한 부분은 원 게시글에서 python “gplearn” 이라는 라이브러를 사용하여 회귀분석을 하였으나 여기서는 스탠포드에서 제공하는 “ExprOptimization”이라는 Julia용 package를 사용하여 구현 하였다. pyton Scikitlearn 부분은 Julia용 Scikilearn을 사용하여 동일하게 구현 하였다. python과 julia의 random number발생시 seed가 동일하고 랜덤넘버

Julia에서 시계열 데이터 처리 예제 (2#2) Read More »

Julia에서 시계열 데이터 처리 예제 (1#2)

ML Approaches for Time Series 에서 파이썬으로 구성된 부분을 줄리아(Julia)로 다시 코딩 하고 테스트 해보는 것이 목적이다. 테스트 데이터를 생성하는 모듈과 2.Genetic programming:Symbolic Regrssion에 초점을 멎추어 Julia언어로 다시 코딩하고 테스트 해본다. 또 다른 목적은 ExprOptimization 줄리아 패키지를 사용해 보는 것도 포함되어 있다. Pyton코드를 Julia 코드로 변환한 예제가 아래 있으니 클릭하여 볼 수 있다. 예제보기

Julia에서 시계열 데이터 처리 예제 (1#2) Read More »