В настоящее время мы пытаемся улучшить производительность проблемы планирования, которую мы внедрили в OptaPlanner. Наша модель имеет ~ 45 000 цепных переменных, и после профилирования приложения кажется, что основное узкое место вокруг клонирования. Примерно 90% времени выполнения ЦП потребляется вызовами FieldAccessingSolutionCloner
.Советы по повышению эффективности клонирования
Мы уже пытались сделать нашу объектную модель более легкой, уменьшив количество карт и наборов в рамках PlanningEntities, изменив поля на примитивы, где это возможно, но из вашего собственного опыта OptaPlanner есть ли у вас какие-либо советы о том, как ускорить клонирование представление?
Частично дублируется [этот вопрос списка рассылки] (https://groups.google.com/forum/#!topic/optaplanner-dev/zBAc2Bz1eAQ) –
Да, мой коллега искал потенциальные решения. Мы закончили создание пользовательского клонера, который сделал огромную разницу. – Alastair
Идея клонирования для инкрементного решения https://issues.jboss.org/browse/PLANNER-818 https://stackoverflow.com/questions/44170732/solution-cloning-happening-at-steps-that-produce-a-new- лучший счет-в-ряд –