경계 제약, 비선형 상등 제약 및 비선형 부등 제약을 가진 글로벌 최적화 방정식을 Differential evolution(DE) 방법을 사용하여 풉니다.


icon

입력/출력

  • cfxdt.png 함수 데이터

    함수 데이터는 실행 시 사용자 정의 함수가 필요로 하는 정적 데이터를 포함합니다.

  • csvrn.png 목적 및 제약 함수

    목적 및 제약 함수는 비선형 함수, 비선형 상등 제약 함수, 비선형 부등 제약 함수를 분리된 출력으로 계산하는 VI에 대한 참조입니다. 참조된 VI에서 목적 함수 출력은 비어있으면 안되지만, 제약 함수는 옵션입니다. 따라서, 상등 제약 출력, 부등 제약 출력, 또는 둘다 비어 있을 수 있습니다.

    abview\vi.lib\gmath\GlobalOptimization.llb\Global Optimization_Objective Function.vit에 위치한 VI 템플릿에서 시작하여 이 VI를 생성합니다.

  • c2ddbl.png 초기 파라미터

    초기 파라미터는 최적화 과정이 처음 시작되는 파라미터입니다. LabVIEW는 시작 상태가 비어있을 때 초기 파라미터를 사용합니다. 초기 파라미터의 각 행은 한 개의 파라미터 세트입니다. 초기 파라미터에 있는 열의 개수는 경계최소최대 길이와 같아야 합니다.

    초기 파라미터의 행의 개수가 모집단 크기보다 작을 경우, LabVIEW는 남아있는 파라미터 세트를 초기화합니다. 초기 파라미터의 행의 개수가 모집단 크기보다 클 경우, LabVIEW는 추가적인 파라미터 세트를 무시합니다.

  • ccclst.png 경계

    경계는 최적화되는 파라미터에 대한 상위 및 하위 리미트를 포함하는 클러스터입니다.

  • c1ddbl.png 최소

    최소는 최적화되는 파라미터의 허용되는 값 중 가장 낮은 값을 포함합니다. 최소는 비어있을 수 없습니다. 최소의 길이는 최대의 길이와 같아야 합니다. 최소Inf, –Inf 또는 NaN와 같은 예외값을 허용하지 않습니다.

  • c1ddbl.png 최대

    최대는 최적화되는 파라미터의 허용되는 값 중 가장 높은 값을 포함합니다. 최대는 비어있을 수 없습니다. 최대의 길이는 최소의 길이와 같아야 합니다. 최대Inf, –Inf 또는 NaN와 같은 예외값을 허용하지 않습니다.

  • ccclst.png 시작 상태

    시작 상태는 모집단과 파레토 인덱스의 초기 값을 포함합니다. 시작 상태는 일반적으로 이전 최적화의 종료 상태이며 최적화의 웜 스타트를 허용합니다. 시작 상태에 값이 있는 경우, LabVIEW는 초기 파라미터를 무시합니다.

  • c1dcclst.png 모집단

    모집단은 파라미터 값, 목적 함수, 상등 제약, 부등 제약 및 밑 인덱스를 포함하는 파라미터의 세트를 가집니다.

  • c1ddbl.png 파라미터

    파라미터는 후보 파라미터의 값을 포함합니다.

  • c1ddbl.png 목적 함수

  • c1ddbl.png 상등 제약

  • c1ddbl.png 부등 제약

  • c1di32.png 파레토 인덱스

    파레토 인덱스는 모든 후보 중 파라미터의 선택을 지정하는 인덱스를 포함합니다.

  • cerrcodeclst.png 에러 입력(에러 없음)

    에러 입력은 이 노드의 실행 전에 발생한 에러 조건을 설명합니다. 이 입력은 표준 에러 입력 기능을 제공합니다.

  • cnclst.png DE 셋팅

    DE 셋팅은 Differential Evolution(DE) 방법에만 사용되는 추가적인 셋팅을 포함합니다.

  • ci32.png 모집단 크기

    모집단 크기는 최적화 과정 중 각 루프 반복 시 LabVIEW가 계산하는 후보 파라미터 세트의 개수입니다. 이 크기는 또한 최적화 과정 중 각 루프 반복에서의 목적 함수 호출 개수를 나타냅니다. 모집단 크기가 클수록 더 좋은 최적화 결과를 얻을 수 있으며, 실행 시간은 더 길어집니다. 기본값은 10입니다.

  • cdbl.png 스케일 전환율

    스케일 전환율은 LabVIEW가 변이 파라미터를 생성하는데 사용하는 다양성 인자입니다. 스케일 전환율 값이 크면 더 다양한 변이 파라미터를 생성할 수 있습니다. 기본값은 0.9입니다.

  • cdbl.png 교차 확률

    교차 확률은 LabVIEW가 변이 파라미터로부터 시행 파라미터를 상속하는 확률입니다. 교차 확률 값이 크면 LabVIEW가 변이 파라미터를 받아들이는 가능성도 더 커집니다. 기본값은 0.95입니다.

  • cu16.png 경계값 맵핑 방법

    경계값 매핑 방법은 LabVIEW가 시행 파라미터를 경계로 맵하는 방법입니다.

    0없음
    1경계와 값 사이의 난수(기본)
    2다시 초기화
  • cu16.png 변이 방법

    변이 방법은 LabVIEW가 변이 파라미터를 생성하는 방법입니다.

    0난수(기본)
    1Either Or
    2최상
    3최적 타겟
  • cu16.png 교차 방법

    교차 방법은 LabVIEW가 후보 파라미터를 변이 파라미터와 교차하는 방법입니다.

    0균일(기본)
    1지수
  • cnclst.png 정지 기준

    정지 기준은 최적화 과정을 종료하는 조건의 집합입니다.

  • ci32.png 최대 반복

    최대 반복은 최적화 과정 중 최대 루프 반복 횟수입니다. 주요 루프 반복의 횟수가 최대 반복을 넘을 경우, 최적화 과정은 종료됩니다. 기본값은 50입니다.

  • ci32.png 최대 함수 호출

    최대 함수 호출은 최적화 과정이 끝날 때까지 허용되는 목적 함수 호출의 최대 횟수입니다. 기본값은 -1입니다.

    -1은 최적화 과정이 절대 종료되지 않으며, 목적 함수 호출의 수에 의존하지 않음을 나타냅니다. 실제 목적 함수 호출 횟수를 결정하는 식은 모집단 크기 * (최대 반복 + 1)입니다.

  • cdbl.png 최대 시간(초)

    최대 시간(초)는 LabVIEW가 최적화 과정의 시작과 끝에서 허용하는 최대 시간입니다. 기본값은 -1입니다. -1은 절대 타입아웃되지 않는 최적화 과정을 나타냅니다.

  • ii32.png 함수 호출의 횟수

    함수 호출의 횟수는 최적화 과정에서 목적 함수가 호출하는 횟수입니다.

    최대 함수 호출-1인 경우, 함수 호출의 횟수모집단 크기 * (최대 반복 + 1)과 같습니다.

  • i1ddbl.png 최소값

    최소값은 모든 최소값 확률 중 결정된 글로벌 최소값입니다.

  • i1ddbl.png F(최소값)

    F(최소값)최소값에서의 목적 함수의 함수값입니다.

  • icclst.png 종료 상태

    종료 상태는 최적화 과정 마지막에서 모집단과 파레토 인덱스의 최종값을 포함합니다.

  • i1dcclst.png 모집단

    모집단은 최적화 과정 마지막에서 파라미터 후보 값, 목적 함수, 상등 제약, 부등 제약 및 밑 인덱스를 포함하는 모집단의 세트를 가집니다.

  • i1ddbl.png 파라미터

    파라미터는 최적화 과정 마지막에서의 후보 파라미터의 값을 포함합니다.

  • i1ddbl.png 목적 함수

    목적 함수파라미터에서의 목적 함수의 값을 포함합니다.

  • i1ddbl.png 상등 제약

    상등 구속파라미터에서의 상등 구속의 값을 포함합니다.

  • i1ddbl.png 부등 제약

    부등 구속파라미터에서의 부등 구속의 값을 포함합니다.

  • i1di32.png 파레토 인덱스

    파레토 인덱스는 모든 후보 중 파라미터의 선택을 지정하는 인덱스를 포함합니다.

  • ierrcodeclst.png 에러 출력

    에러 출력은 에러 정보를 포함합니다. 이 출력은 표준 에러 출력 기능을 제공합니다.

  • 이 VI는 f(x)를 최소화할 x를 찾아서 글로벌 최적화 방정식을 풀며, 다음과 같은 제약을 받습니다:

    경계 제약최소x최대
    상등 제약g(x) = 0
    부등 제약h(x) ≤ 0

    x는 최적화할 파라미터 세트입니다. f(x)는 최소화할 목적 함수 세트입니다. 이 문제에서 상등 및 부등 제약은 옵션입니다.

    글로벌 최적화 문제를 해결하는데 사용하는 방법 중 하나는 Differential evolution(DE)입니다. DE는 후보 파라미터를 반복적으로 변경하고, 개선시켜 기초 파라미터를 실제 글로벌 최적화에 가깝게 해줍니다.

    노트 DE를 사용하여 항상 글로벌 최적화를 찾을 수 있는 것은 아닙니다. 최적 파라미터 반환은 최적화 문제 자체와 함께 DE 셋팅에 따라 좌우됩니다.

    객체 함수 계산에 시간이 많이 걸리는 경우, DE는 최적화 과정의 각 루프 반복 시 모집단 크기에 따라 객체 함수를 여러 번 호출해야 합니다. 이 VI는 For 루프에서 병렬 루프 반복이 객체 함수를 호출할 수 있도록 하여 LabVIEW가 여러 프로세서를 사용하는 장점을 최대한 활용하도록 합니다. 병렬 루프 반복을 사용하려면 다음 사항을 수행하십시오:

    • 목적 함수를 실행하는 VI를 복제본을 공유하는 재호출 VI로 바꿉니다.
    • 다음 그림과 같이 0x40 옵션으로 VI의 참조를 엽니다.

    다음 그림에서는 VI가 어떻게 글로벌 최적화 방정식을 푸는지 보여줍니다.

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

    • labview\examples\Mathematics\Optimization\Find Global Min on Surface.vi
    • labview\examples\Mathematics\Optimization\Two Circles Optimization.vi