op - ortools 기본

장지백·2024년 5월 14일

data-driven-optimization

목록 보기
1/5

개요

  • ortools를 활용한 데이터기반 최적화에 대한 요약본
  • 선형(비선형)계획법 / 네트워크 분석 / 정수계획법 / 대기행렬모형
  • 각 상황별로 최적화 방법과 코드를 적어놓았으니 필요한 부분을 찾아서 활용하면 된다

최적화 & DATA

ortools 설치코드(cmd)

python -m pip install --upgrade --user ortools

기본예제(tv생산)

from ortools.linear_solver import pywraplp
solver = pywraplp.Solver.CreateSolver("SCIP")

# 의사결정변수
A = solver.NumVar(0, solver.infinity(), "A")
C = solver.NumVar(0, solver.infinity(), "C")

# 제약조건
solver.Add(A <= 60)
solver.Add(C <= 50)
solver.Add(A + 2 * C <= 120)

# 목적함수
solver.Maximize(20 * A + 30 * C)
status = solver.Solve()

if status == pywraplp.Solver.OPTIMAL:
    print("OPTIMAL")
    print("목적함수값 = ", solver.Objective().Value())
    print('A = %.1f' %(A.solution_value()))
    print('C = %.1f' %(C.solution_value()))
else:
    print("The problem does not have an optimal solution.")
profile
Data Scientist

0개의 댓글