目的が二つ以上あるときの最適

計算と実験

性能とコストは、同時に最良にはできません。どちらかを良くすると他方が悪くなる、その境目の集まりをパレート最適と呼びます。

何を決めるための考え方か

酸素をよく届けることと、電気や設備を増やさないことは同時には最良になりません。片方を良くすると他方が落ちる、その境目の集まりがパレート最適です。送風に要る電力と棚の段数と段の間隔を横に並べ、唯一の正解ではなく選べる組の一覧として設計案を出すための枠組みです。どれを選ぶかは、そのあとの話になります。

何を計算・計測するか

設計変数はノズルの位置・角度・間隔、送風機の風量、棚の段数と間隔といった数で、目的関数は酸素の量と、消費電力kWや設備の規模です。計算が一回重いので、少ない試行から代理モデルを作り、次に試す点を選びます。出てくるのは一点ではなく面で、横軸に電力、縦軸に性能を取った境界の線として読みます。

つまずくところ

目的の取り方が変われば、出てくる線ごと入れ替わります。同じ装置でも性能を面積あたりで測るか投入あたりで測るかで並び順が変わり、小さな装置の結果は大きくしても同じ?という問いもそのまま残ります。制約を書かずに最適とだけ言うのは、条件を伏せているのと同じです。選んだ点は実物か直接の計算で確かめ直します。

どこまで確かめられているか

少ない試行から代理モデルを更新して次の点を選ぶ考え方は Jones ら 1998 が示しました。噴霧栽培の設計へ多目的化して当てた結果はまだありません。農業側では Usman と Rajakannu 2026 がトマトの補光制御でパレート解を出しています。

解説動画: NSGA-II Optimization: Understand fast how it works [complete explanation]/paretos

目標が二つある: 動画は電気自動車の設計を例に始めます。目標は0から時速100kmまでの加速時間を短くすることと航続距離を伸ばすことの二つ、動かせるのはホイールの径・モーターの出力・電池の容量の三つ。電池を大きくすれば距離は伸びるが、重くなって加速は鈍る——唯一の正解が無い形です。

支配とパレート最適: ある案が別の案を「支配する」とは、どの目標でも劣らず、少なくとも一つで勝っていることだと定義します。誰にも支配されない案の集まりがパレート最適で、そこでは片方を良くすればもう片方が落ちます。支配される側には、加速を犠牲にせず距離を伸ばせる余地がまだ残っている、という読み方です。

順位を層に分ける: NSGA-IIは全ての案を総当たりで比べ、何個に支配されたかを数えて層に分けます。支配された数がゼロの案が第1層、第1層を取り除くとゼロになる案が第2層、と順に剥がしていく。層の番号がそのまま順位になり、良い層から順に次の世代の親へ詰め、枠が埋まったところで打ち切ります。

同じ層で選ぶとき: 親の枠に最後の層が入りきらないときは、混み具合(クラウディング距離)で選びます。目標ごとに並べ替え、両端の案には無限大の距離を与え、間の案は左右の隣との差から距離を出して足し合わせる。混んでいない案を先に残すので解の広がりが保たれ、一部の山に居着くのを避けられると動画は述べます。

回して面を出す: 選ばれた親どうしをトーナメントで組ませ、遺伝子を交叉で混ぜ、ときどき突然変異で値を振ります——動画は27センチのホイール径を1割動かす例を挙げます。これを決めた世代数まで、あるいは指標が動かなくなるまで繰り返すと、残るのは一点ではなく、選べる案の集まりのほうです。