본문 바로가기

IT_gams

(13)
GAMS_project_sales_stratege(-ing 2) 앞의 블로그(https://seohyogi.tistory.com/17) 내용이 너무 어려워서 뭘 하고 싶은건지 잘 표현이 안된다. 목차 1. 왜 이 문제를 최적화 코드로 시뮬레이션을 돌려야 하느냐. 2. formulation 설명 3. excel to gams. GDX 4. gams code 5. 전략 수립 부품들을 조립하여 제품을 판매하는 업종이 있는데, 현재 재고 부품들로 어떤 제품을 판매하는 것이 이익을 극대화 할 수 있는 지에 대한 고민이다. 이익 = 판매 금액 - (조립된 부품의 원가) - (조립하는데 들어가는 인건비) - (부품을 보관하고 있었던 비용) 이익을 극대화 하려면, 제품 별 가격, 부품 단가, 사용부품 개수, 보관비용이 동일하므로 제품별로 각 100 개씩 생산하고, 부품 1번은 1개..
GAMS_project_sales_stratege(-ing) 프로젝트 선정의 이유: 부품들을 조립하여 제품을 판매하는 업종에서 제품의 수는 수십가지, 부품의 수는 수백가지에 이른다. 이런 업종에서 아래와 같은 고민들을 최적화의 관점에서 다루어 보려 한다. 재고 부품들로 어떤 제품들을 판매하면 최대의 이익을 발생시킬 수 있을까? 부품들을 조립하는데 들어가는 인건비가 이익에 얼마나 영향을 미칠까? 재고 보관비용은 이익에 어떤 영향을 미칠까? 납기가 긴 제품들은 어느정도 수량을 유지하는 것이 좋을까? +alpha 주로 backdata 들은 엑셀시트로 관리를 많이 하니 엑셀을 연동해 보자. 최적화 주제 목적: 한정된 재고, 재고 보관 비용, 조립인건비 등을 고려하여 최대한의 이익을 낼 수 있는 생산 스케쥴을 고민해 보자. 목차. 1. 사용할 데이터 선정 2. 엑셀 데이터..
GAMS_airline_schedule_problem_upgrade https://seohyogi.tistory.com/15 GAMS_airline_schedule_problem paired set problem을 풀어 보자. 승무원이 여러 지역을 돌아 일을 마치고 돌아오는 코스를 생각해 보면 그리고 비행 스케쥴에 따른 비용은 변수는 코스 i 를 할 꺼냐 말꺼냐 (하면 1, 안하면 0, binanry v seohyogi.tistory.com 위의 코드가 너무 노가다 성이라,,,, 변수나 경로가 2배로만 많아진다면 hardcoding 에 문제가 생긴다. 라인 수를 줄여 보자!!!! ------------------------------------------------------------------------------------------------------------..
GAMS_airline_schedule_problem paired set problem을 풀어 보자. 승무원이 여러 지역을 돌아 일을 마치고 돌아오는 코스를 생각해 보면 그리고 비행 스케쥴에 따른 비용은 변수는 코스 i 를 할 꺼냐 말꺼냐 (하면 1, 안하면 0, binanry value)를 x(i) 로 놓자. 목적은 x(i)* 비용 의 합을 최소로 하고 싶다. 예를들면, 코스 1 을 실시 할 수 도 있고 안할 수도 있는데, 실시하게 되면 비용이 251 만큼 발생한다. 즉 minimize 비용1*코스1+ --- +비용15*코스15 근데 101 편은 코스 1, 2, 3, 4 가 가능한데, 코스 1을 선택하면 코스 2,3,4, 는 선택할 수 없게 된다. 이걸 수식으로 하면, x1 + x2 + x3 + x4 =1 제약조건 비행기 101 : 𝑥1+𝑥2+𝑥3+𝑥4=..
GAMS_transport_problem_w/ GDX GDX 파일 생성을 못해 본 사람이나 GDX 가 뭐하는 건지 모르면 앞의 using excel 글을 먼저 읽어야 한다. 이번 내용은 생성한 GDX 파일을 이용하여 transport problem 을 좀 더 사용하기 쉽게 바꿔보겠다. 목차. Load GDX data(read excel data) Wirte to excel 원본 code - Transport_problem(https://seohyogi.tistory.com/12?category=777096) 중 특정 부분(값이 바뀌거나, 바꾸고 싶거나, 양이 많거나) 만 바꾸면 된다. ------------------------------------------------ sets i plants j markets; parameter plant(i) capa..
GAMS_using_excel Contents 목차 Make GDX file Test code 보통 현실적인 상황에서는 back data 들은 excel 로 기록/관리를 한다. GAMS 에서도 excel data 와의 호환을 지원하는데, GAMS Data Exchange = GDX 라는 기능을 지원한다. GAMS 에서 GDX file 을 read/write 할 수 있다. (GDX: gams data exchange) Transport_problem(https://seohyogi.tistory.com/12?category=777096) 을 다시 풀어보자. Excel to GDX file 일단 transport problem 의 table 을 엑셀 파일로 만들자. 아마 현실적인 문제에서는 엑셀 data 를 불러와서 수식화 하는 방법이겠지..
GAMS_transport_problem 요즘 1일1깜s 하는 재미를 붙여보려고 노력 중인데 그러다 보니 도토리가 1mm 정도는 자란것 같다. 오늘의 문제. ↓공장 ( i ) 시장1 시장2 시장3 ← 시장 ( j ) 공장1 \ 2.5 \ 1.7 \ 1.8 350 개 공장2 2.5 1.8 1.4 600 시장수요→ 325 개 300 275 ↑공장capa --------------------- 들어가기 앞서 --------------------- 문법은 앞의 몇안되는 게시물로 정리한 것과 별반 다를게 없고 추가된 내용은 이중sigma. 이다. 이 수식은 sum(j, x(i,j) ) 으로 작성했다면, 이 수식은 sum( (i,j), x(i,j) ) 으로 작성한다는 것이 추가된 내용이다. ------------------------------------..
GAMS_grammar_exercise ↓j , x(i) → 제품1 제품2 제품3 재고 부품1 4 3 3 70 부품2 6 8 4 130 부품3 3 5 2 60 이익 40 48 35 ← r(i) , ↑ b(j) 아래의 문제를 풀어보자. 제품1: 부품1*4, 부품2*6, 부품3*3, 이익40 제품2: 부품1*3, 부품2*8, 부품3*5, 이익48 제품3: 부품1*3, 부품2*4, 부품3*2, 이익35 재고 사항: 부품1 - 70, 부품2-130, 부품3-60 제픔 1,2,3을 만드는 회사에서 최대한의 이익을 얻기 위한 제품 생산은 어떻게 될까? i : "item label" i1, i2, i3 j : "componant label" j1, j2, j3 -----------------------------------------------------..
GAMS grammer_basic2 다음과 같은 문제를 풀어보자. 맥주1 맥주2 맥주3 재고 재료1 20 10 8 500 재료2 10 15 6 200 재료3 2 3 8 150 재료4 10 20 15 400 이익 3 1 2 맥주1을 만드는데 재료1은 20, 재료2는 10, 재료3은 2, 재료4는 100 이 들어가고 맥주1의 이익은 3원, 재료 1의 재고량은 500 이다 라는 뜻의 table_data 이다. 이윤을 가장 크게 하는 생산량 최적화의 문제를 풀어보자. i : 맥주 label, i = 1,2,3 j : 재료 label, j = 1,2,3,4 수식으로 바꿔 보면, maximize 3*(x1) + 1*(x2) + 2*(x3) S.T 20*(x1) + 10*(x2) + 8*(x3)
GAMS grammar_basic GAMS 설치도 했고, 라이센스도 했고, 간단한 예제도 해 봤으니기본적인 문법을 좀 알아보자. 목차 풀어볼 문제 정의 GAMS 문법 쪼끔 + 코드 작성 해석 및 팁 문제 정의 최적화할 문제 예시(데충 생각하고 너무 엄격하게 해석하진 말자.) ------------------------------------------------------------------------------ 맥주공장에서 하이트랑 라거 를 둘 다 만드는데, 하이트의 이윤은 1, 라거의 이윤은 2 이다. 맥주 만드는데 드는 재료는 재료1, 재료2 가 들어가고, 하이트든 라거든 들어가는 노동력은 동일하며, 총 노동력은 500이하이다. 재료 1의 재고는 1000 이고, 하이트에는 10, 라거에는 3 이 들어간다. 재료 2의 재고는 2000..