Я ищу java framework, который подходит для задач оптимизации. В лучшем случае это реализовано с помощью Java 8. Я знаю, что есть лучшие языки для задач оптимизации, но в настоящее время я ограничен Java.
Это должно делать:
public class OptimizationProblem {
// Given: Any function, which returns a value for a combination of A and B.
public int value (A a, B b);
List<A> as;
List<B> bs;
// This function should be part of the framework
// It should map each A to one B (if both are of same length), so that the value
// in sum is max (not an easy task, at all).
Map<A, B> map = findBestCombinations (as, bs, OptimizationProblem::value);
Я ожидаю, что фреймворк справится с проблемами минимизации и максимизации. Ему не нужно находить «оптимальное» решение поставленных задач. Если не удается найти решение в адекватное время, допускается возврат «хорошего» решения.
Поскольку я ищу библиотеку Java для квадратичного программирования ( Решение небольшой задачи квадратичного программирования с ограничениями неравенства в Java или C/C++ ), я столкнулся с некоторыми элементами. Я думаю, что этот общий вопрос о пакетах оптимизации для Java будет полезен другим, поэтому вот мои заметки о некоторых элементах, которые я рассмотрел. Их следует понимать как относящиеся только к версии программного обеспечения в настоящее время (сентябрь 2018 г.). Этот список не является исчерпывающим.
Иззи