tf.contrib.constrained_optimization.find_best_candidate_distribution
Находит распределение, минимизирующее целевую функцию при соблюдении ограничений.
tf.contrib.constrained_optimization.find_best_candidate_distribution(
objective_vector, constraints_matrix, epsilon=0.0
)
Эта функция обрабатывает ограниченную задачу:
минимизировать f(w) при условии gi(w) ≤ 0 для всех i в {0,1,...,m-1}
Здесь f(w) — «целевая функция», а gi(w) — i-я (из m) «функция ограничения». Учитывая набор из n «кандидатских решений» {w0,w1,...,wn-1}, эта функция находит распределение по этим n кандидатам, которое в ожидании минимизирует целевую функцию, нарушая ограничения минимально возможным образом (величина определяется с помощью поиска методом бисекции).
Параметр objective_vector должен быть массивом numpy с формой (n,), для которого objective_vector[i] = f(wi). Аналогично, constraints_matrix должен быть массивом numpy с формой (m,n), для которого constraints_matrix[i,j] = gi(wj).
Эта функция вернёт распределение, для которого не более m+1 вероятностей, и часто меньше, отличны от нуля.
Для более подробной информации обратитесь к:
Cotter, Jiang и Sridharan. «Двухпользовательские игры для эффективной оптимизации невыпуклых ограниченных задач». https://arxiv.org/abs/1804.06500
Эта функция реализует подход, описанный в лемме 3.
| Аргументы | |
|---|---|
objective_vector | Массив numpy формы (n,), где n — количество «кандидатских решений». Содержит значения целевой функции. |
constraints_matrix | Массив numpy формы (m,n), где m — количество ограничений, а n — количество «кандидатских решений». Содержит значения нарушений ограничений. |
epsilon | Неотрицательное число с плавающей точкой, порог, при котором поиск методом бисекции завершается при поиске минимального ожидаемого значения нарушения ограничения. |
| Возвращаемое значение | |
|---|---|
| Оптимальное распределение в виде массива numpy формы (n,). |
| Исключения | |
|---|---|
ValueError | Если у objective_vector и constraints_matrix несовместимые формы, или если epsilon отрицательно. |
ImportError | Если мы не можем импортировать scipy.optimize. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/constrained_optimization/find_best_candidate_distribution