선형 완화 문제란?

선형 완화 문제란?



조합 최적화 에서의 혼합 정수 최적화 문제의 정수 제약을 없애고 할 수 있는 문제를 (혼합 정수 최적화 문제의) 선형 완화 문제라고 하며, 선형 최적화 문제가 됩니다.

원래 완화 문제 1이란?



원래 문제의 제약 조건의 일부 또는 전부를 삭제할 수 있는 새로운 문제를 원래 문제의 완화 문제라고 합니다.

특징



제약 조건이 없어져 실행 가능 영역이 넓어집니다. 따라서 다음과 같은 특징이 있습니다.
  • 최대화 문제의 경우, 완화 문제의 최적해는 원래의 문제의 상계가 됩니다 (최소화라면 하계).
  • 완화 문제의 최적해가 원래의 문제로 실행 가능한 경우, 원래의 문제의 최적해가 됩니다.
  • 기본적으로 원래의 문제보다 풀기 쉬워집니다.

  • 선형 완화란?



    완화의 일종으로 정수 제약을 제거하는 것입니다.

    (참고로) 라그랑주 완화 란 무엇입니까?


  • 원래의 비선형 최적화 문제의 제약 조건을 제거하고 제약 조건을 위반하는 양을 페널티로 하여 목적 함수에 더해 생기는 새로운 문제를 원래 문제의 라그랑주 완화 문제라고 합니다.
  • 적절한 페널티 가중치(라그랑주 승수)를 결정하면, 라그랑주 완화 문제의 최적해는 원래의 문제의 최적해가 됩니다.
  • 라그랑주 완화 문제는 무제한이 되어, 이용 가능한 알고리즘이 늘어나 풀기 쉬워집니다.
  • 다만, 혼합 정수 최적화 문제의 라그랑주 완화 문제를 생각해도 그다지 의미는 없기 때문에, 여기에서는 소개만으로 합니다.

  • 왜 완화하는가?



    예를 들어 선형 완화는 분지 한정법에서 사용됩니다.
    그 밖에도, 근사해를 얻거나, 감도 분석하거나, 쌍대 정리의 증명 등으로 사용됩니다.
    덧붙여 곡선의 함수를 꺾은선으로 나타내는 것은, 구분선형 근사라고 불려 완화는 아닙니다.

    예제 (Napsack 문제)로 확인



    쉽고 쉽게 설명할 수 있도록 3가지 변수의 혼합 정수 최적화 문제 2인 냅삭 문제를 생각해 봅시다.

    혼합 정수 최적화 문제의 공식화




    최대화
    $7x+8y+9z$


    제약
    $6x+7y+8z\le 14$

    $x,y,z\in\{0,1\}$


    혼합 정수 최적화 문제의 솔루션 공간 및 최적 솔루션 (빨간색 점)





    혼합 정수 최적화 문제의 Python에 의한 구해



    파이썬
    from pulp import *
    m = LpProblem(sense=LpMaximize) # 数理モデル
    x,y,z = [LpVariable(c,cat=LpBinary) for c in 'xyz'] # 変数
    m += lpDot([7,8,9], [x,y,z]) # 目的関数
    m += lpDot([6,7,8], [x,y,z]) <= 14 # 制約条件
    m.solve() # 求解
    print([value(v) for v in [x,y,z]]) # 出力
    >>>
    [1.0, 0.0, 1.0]
    

    선형 완화 문제의 공식화




    최대화
    $7x+8y+9z$


    제약
    $6x+7y+8z\le 14$

    $x,y,z\ge 0, ~~\le 1$


    선형 완화 문제의 해 공간과 최적 해 (빨간 점)의 그림





    선형 완화 문제의 Python에 의한 구해



    파이썬
    from pulp import *
    m = LpProblem(sense=LpMaximize) # 数理モデル
    x,y,z = [LpVariable(c,lowBound=0,upBound=1) for c in 'xyz'] # 変数
    m += lpDot([7,8,9], [x,y,z]) # 目的関数
    m += lpDot([6,7,8], [x,y,z]) <= 14 # 制約条件
    m.solve() # 求解
    print([value(v) for v in [x,y,z]]) # 出力
    >>>
    [1.0, 1.0, 0.125]
    

    이상



    정식화된 물건을 모델이라고 부르면 완화 문제가 아니라 완화 모델이라고 하고 싶은 곳입니다.

    혼동이 적고 방법으로, 냅삭 문제는 정수 최적화 문제가 됩니다. 여기에서는, 보다 범용적인 혼합 정수 최적화 문제에 대해서 성립하는 설명이므로, 굳이 이렇게 하고 있습니다.

    좋은 웹페이지 즐겨찾기