ConstraintTolerance | 비선형 제약 조건과 관련하여 실현 가능성을 결정합니다. 또한 max(sqrt(eps),ConstraintTolerance)는 선형 제약 조건과 관련하여 실현 가능성을 결정합니다. options 구조체의 경우 TolCon을 사용합니다. | 음이 아닌 스칼라 | {1e-3} |
CreationFcn
| 초기 모집단을 만드는 함수입니다. 내장 생성 함수 이름 또는 함수 핸들로 지정합니다. Population Options 항목을 참조하십시오. | {'gacreationuniform'} | {'gacreationlinearfeasible'}* | 'gacreationnonlinearfeasible' | {'gacreationuniformint'}I*(ga의 경우) | {'gacreationsobol'}I*(gamultiobj의 경우) | 사용자 지정 생성 함수
|
CrossoverFcn
| 알고리즘이 교차 자식을 만드는 데 사용하는 함수입니다. 내장 교차 함수 이름 또는 함수 핸들로 지정합니다. Crossover Options 항목을 참조하십시오. | {'crossoverscattered'}(ga의 경우), {'crossoverintermediate'}*(gamultiobj의 경우) | {'crossoverlaplace'}I* | 'crossoverheuristic' | 'crossoversinglepoint' | 'crossovertwopoint' | 'crossoverarithmetic' | 사용자 지정 교차 함수
|
CrossoverFraction
| 교차 함수가 만들어 내는 다음 세대에서 엘리트 자식을 포함하지 않는 모집단의 소수부입니다. | 음이 아닌 스칼라 | {0.8} |
Display
| 표시 수준입니다. | 'off' | 'iter' | 'diagnose' | {'final'}
|
DistanceMeasureFcn
| 개체의 거리 측정을 계산하는 함수입니다. 내장 거리 측정 함수 이름 또는 함수 핸들로 지정합니다. 값은 결정 변수나 설계 공간(유전자형) 또는 함수 공간(표현형)에 적용됩니다. 디폴트 값 'distancecrowding'은 함수 공간(표현형)에 있습니다. gamultiobj만 해당됩니다. Multiobjective Options 항목을 참조하십시오. options 구조체의 경우에는 함수 이름이 아닌 함수 핸들을 사용하십시오. | {'distancecrowding'}은 {@distancecrowding,'phenotype'}과 동일한 의미 | {@distancecrowding,'genotype'} | 사용자 지정 거리 함수
|
EliteCount
| NM 현재 세대에서 다음 세대까지 생존이 보장되는 개체 수를 지정하는 양의 정수입니다. gamultiobj에는 사용되지 않습니다. | 음이 아닌 정수 | {ceil(0.05*PopulationSize)} | 혼합 정수 문제의 경우 {0.05*(default PopulationSize)} |
FitnessLimit
| NM 적합도 함수가 FitnessLimit의 값에 도달하면 알고리즘이 중지됩니다. | 스칼라 | {-Inf} |
FitnessScalingFcn
| 적합도 함수의 값을 스케일링하는 함수입니다. 내장 스케일링 함수 이름 또는 함수 핸들로 지정합니다. gamultiobj에는 사용할 수 없는 옵션입니다. | {'fitscalingrank'} | 'fitscalingshiftlinear' | 'fitscalingprop' | 'fitscalingtop' | 사용자 지정 적합도 스케일링 함수
|
FunctionTolerance | MaxStallGenerations개의 세대 동안 최대 적합도 함수 값의 평균 상대 변화가 FunctionTolerance보다 작거나 같으면 알고리즘이 중지됩니다. StallTest가 'geometricWeighted'인 경우 가중 평균 상대 변화가 FunctionTolerance보다 작거나 같으면 알고리즘이 중지됩니다.
gamultiobj의 경우, options.MaxStallGenerations개의 세대 동안 산포값의 상대적 변화의 기하 평균이 options.FunctionTolerance보다 작고, 최종 산포값이 지난 options.MaxStallGenerations개의 세대 동안의 평균 산포 값보다 작을 때 알고리즘이 중지됩니다. gamultiobj Algorithm 항목을 참조하십시오.
options 구조체의 경우 TolFun을 사용합니다. | 음이 아닌 스칼라 | {1e-6}(ga의 경우), {1e-4}(gamultiobj의 경우) |
HybridFcn
| I* ga 종료 이후 최적화를 계속하는 함수입니다. 함수 이름 또는 함수 핸들로 지정합니다. 또는 하이브리드 함수와 해당 옵션을 지정하는 셀형 배열입니다. ga Hybrid Function 항목을 참조하십시오. gamultiobj의 경우 유일한 하이브리드 함수는 @fgoalattain입니다. gamultiobj Hybrid Function 항목을 참조하십시오.
문제에 정수 제약 조건이 있는 경우 하이브리드 함수를 사용할 수 없습니다. When to Use a Hybrid Function 항목을 참조하십시오. | 함수 이름 또는 함수 핸들 | 'fminsearch' | 'patternsearch' | 'fminunc' | 'fmincon' | {[]} 또는 1×2 셀형 배열 | {@solver, hybridoptions}, 여기서 solver = fminsearch, patternsearch, fminunc, 또는 fmincon {[]}임 |
InitialPenalty | NM I* 벌점 파라미터의 초기값 | 양의 스칼라 | {10} |
InitialPopulationMatrix
| 유전 알고리즘을 시드하는 데 사용되는 초기 모집단입니다. 최대 PopulationSize개의 행과 N개의 열을 가지며, 여기서 N은 변수의 수입니다. 부분 모집단을 전달할 수 있습니다. 즉, 행 수가 PopulationSize개 미만인 모집단을 전달할 수 있습니다. 이 경우 유전 알고리즘은 CreationFcn을 사용하여 나머지 모집단 구성원을 생성합니다. Population Options 항목을 참조하십시오. options 구조체의 경우 InitialPopulation을 사용합니다. | 행렬 | {[]} |
InitialPopulationRange
| 초기 모집단의 개체 범위를 지정하는 행렬 또는 벡터입니다. gacreationuniform 생성 함수에 적용됩니다. ga는 디폴트 초기 범위가 유한 범위와 일치하도록 이동하고 스케일링합니다. options 구조체의 경우 PopInitRange를 사용합니다. | 벡터 행렬 | 제한 조건이 없는 성분의 경우 {[-10;10]}, 정수 제약 문제의 제한 조건이 없는 성분의 경우 {[-1e4+1;1e4+1]}, 디폴트 범위가 단측 범위와 일치하도록 수정된 제한 조건이 있는 성분의 경우 {[lb;ub]} |
InitialScoresMatrix
| 적합도를 결정하는 데 사용되는 초기 점수입니다. 최대 PopulationSize개의 행과 Nf개의 열이 있습니다. 여기서 Nf은 적합도 함수 개수입니다(ga의 경우 1, gamultiobj의 경우 1보다 큽니다). 부분 점수 행렬을 전달할 수 있습니다. 즉, 행 수가 PopulationSize개 미만인 행렬을 의미합니다. 이 경우 솔버는 적합도 함수를 평가하면서 점수를 채웁니다. options 구조체의 경우 InitialScores를 사용합니다. | 단일 목적 함수의 경우 열 벡터 | 다중 목적 함수의 경우 행렬 | {[]} |
MaxGenerations
| 알고리즘이 중지되기 전까지의 최대 반복 횟수입니다. options 구조체의 경우 Generations를 사용하십시오. | 음이 아닌 정수 |{100*numberOfVariables}(ga의 경우), {200*numberOfVariables}(gamultiobj의 경우) |
MaxStallGenerations
| MaxStallGenerations개의 세대 동안 최대 적합도 함수 값의 평균 상대 변화가 FunctionTolerance보다 작거나 같으면 알고리즘이 중지됩니다. StallTest가 'geometricWeighted'인 경우 가중 평균 상대 변화가 FunctionTolerance보다 작거나 같으면 알고리즘이 중지됩니다.
gamultiobj의 경우, options.MaxStallGenerations개의 세대 동안 산포값의 상대적 변화의 기하 평균이 options.FunctionTolerance보다 작고, 최종 산포값이 지난 options.MaxStallGenerations개의 세대 동안의 평균 산포 값보다 작을 때 알고리즘이 중지됩니다. gamultiobj Algorithm 항목을 참조하십시오.
options 구조체의 경우 StallGenLimit을 사용합니다. | 음이 아닌 정수 |{50}(ga의 경우), {100}(gamultiobj의 경우) |
MaxStallTime
| NM tic 및 toc에서 측정한 결과를 기준으로 MaxStallTime초 동안 목적 함수가 개선되지 않으면 알고리즘이 중지됩니다. options 구조체의 경우 StallTimeLimit을 사용합니다. | 양의 스칼라 | {Inf} |
MaxTime
| tic 및 toc에서 측정한 결과를 기준으로 MaxTime초 동안 실행된 후 알고리즘이 중지됩니다. 이 제한은 각 반복 후에 적용되므로 반복에 상당한 시간이 걸릴 경우 ga가 제한을 초과할 수 있습니다.
options 구조체의 경우 TimeLimit을 사용합니다. | 음이 아닌 스칼라 | {Inf} |
MigrationDirection | 마이그레이션 방향입니다. Migration Options 항목을 참조하십시오. | 'both' | {'forward'}
|
MigrationFraction | 다른 하위 모집단으로 마이그레이션하는 각 하위 모집단의 개체 비율을 지정하는, 0부터 1까지의 스칼라입니다. Migration Options 항목을 참조하십시오. | 스칼라 | {0.2} |
MigrationInterval | 하위 모집단 간의 개체 마이그레이션 사이에 발생하는 세대 수를 지정하는 양의 정수입니다. Migration Options 항목을 참조하십시오. | 양의 정수 | {20} |
MutationFcn
| 변이 자식을 생성하는 함수입니다. 내장 변이 함수 이름 또는 함수 핸들로 지정합니다. Mutation Options 항목을 참조하십시오. | {'mutationgaussian'}(제약 조건이 없는 ga의 경우) | {'mutationadaptfeasible'}*(제약 조건이 있는 ga와 gamultiobj의 경우) | {'mutationpower'}I* | 'mutationpositivebasis' | 'mutationuniform' | 사용자 지정 변이 함수
|
NonlinearConstraintAlgorithm
| 비선형 제약 조건 알고리즘입니다. Nonlinear Constraint Solver Algorithms for Genetic Algorithm 항목을 참조하십시오. gamultiobj에 대해 옵션을 변경할 수 없습니다. options 구조체의 경우 NonlinConAlgorithm을 사용합니다. | {'auglag'}(ga의 경우), {'penalty'}(gamultiobj의 경우)
|
OutputFcn
| 각 반복에서 ga가 호출하는 함수입니다. 함수 핸들 또는 함수 핸들로 구성된 셀형 배열로 지정합니다. Output Function Options 항목을 참조하십시오. options 구조체의 경우 OutputFcns를 사용합니다. | 함수 핸들 또는 함수 핸들로 구성된 셀형 배열 | {[]} |
ParetoFraction
| 솔버가 더 높은 경계에서 개체를 선택하는 동안 첫 번째 파레토 경계에 유지할 개체의 비율을 지정하는, 0에서 1까지의 스칼라입니다. gamultiobj만 해당됩니다. Multiobjective Options 항목을 참조하십시오. | 스칼라 | {0.35} |
PenaltyFactor | NM I* 벌점 업데이트 파라미터입니다. | 양의 스칼라 | {100} |
PlotFcn
| 알고리즘으로 계산된 데이터를 플로팅하는 함수입니다. 내장 플롯 함수 이름, 함수 핸들 또는 내장 함수 이름이나 함수 핸들로 구성된 셀형 배열로 지정합니다. Plot Options 항목을 참조하십시오. options 구조체의 경우 PlotFcns를 사용합니다. | ga 또는 gamultiobj: {[]} | 'gaplotdistance' | 'gaplotgenealogy' | 'gaplotselection' | 'gaplotscorediversity' |'gaplotscores' | 'gaplotstopping' | 'gaplotmaxconstr' | 사용자 지정 플롯 함수
ga만 해당: 'gaplotbestf' | 'gaplotbestindiv' | 'gaplotexpectation' | 'gaplotrange'
gamultiobj만 해당: 'gaplotpareto' | 'gaplotparetodistance' | 'gaplotrankhist' | 'gaplotspread'
|
PlotInterval | 플롯 함수에 대한 연속 호출 사이의 세대 수를 지정하는 양의 정수입니다. | 양의 정수 | {1} |
PopulationSize
| 모집단 크기입니다. | 양의 정수 | numberOfVariables <= 5인 경우 {50}, 그 외의 경우 {200} | 혼합 정수 문제가 있는 ga의 경우 {min(max(10*nvars,40),100)} |
PopulationType
| 모집단의 데이터형입니다. 혼합 정수 문제의 경우 'doubleVector'여야 합니다. | 'bitstring' | 'custom' | {'doubleVector'}
PopulationType이 'bitString' 또는 'custom'으로 설정된 경우 ga는 모든 제약 조건을 무시합니다. Population Options 항목을 참조하십시오.
|
SelectionFcn
| 교차 및 변이 자식의 부모를 선택하는 함수입니다. 내장 선택 함수 이름 또는 함수 핸들로 지정합니다. gamultiobj는 'selectiontournament' 또는 사용자 지정 선택 함수만 사용합니다.
| {'selectionstochunif'}(ga의 경우), {'selectiontournament'}(gamultiobj의 경우) | 'selectionremainder' | 'selectionuniform' | 'selectionroulette' | 사용자 지정 선택 함수
|
StallTest | NM 테스트 유형을 중지합니다. | 'geometricWeighted' | {'averageChange'}
|
UseParallel | 적합도와 비선형 제약 조건 함수를 병렬로 계산합니다. Vectorize and Parallel Options (User Function Evaluation) 항목과 How to Use Parallel Processing in Global Optimization Toolbox 항목을 참조하십시오. | true | {false}
|
UseVectorized
| 함수를 벡터화할지 여부를 지정합니다. Vectorize and Parallel Options (User Function Evaluation) 항목과 Vectorize the Fitness Function 항목을 참조하십시오. options 구조체의 경우 값 'on' 또는 'off'와 함께 Vectorized를 사용합니다. | true | {false}
|