Пусть в режиме реального времени в вычислительную сеть, состоящую из компьютеров разной производительности, поступают задачи определённого типа (пусть A, B, C). Необходимо распределить задачи по компьютерам так, чтобы минимизировать общее время выполнения.
В общем, суть моей идеи заключается в том, чтобы составить набор тестовых приложений по замеру времени выполнения базовых операций (арифметических операций, тригонометрических функций с различными типами данных, функции работы с памятью и пр.), на паре машин сделать несколько тестовых замеров каждого типа задач и построить обучающую выборку для нейросети. Цель нейросети: ответить на вопрос «а за сколько времени решится задача типа A (B или C), если тестовые приложения отработали за...» — т.е. сделать прогноз времени выполнения приложения на неизвестном окружении (априорное оценивание), основываясь на времени выполнения тестовых приложений. Естественно, сеть дообучается по мере поступления новых статистических данных. Благодаря получаемым оценкам времени выполнения задачи, можно загружать каждый компьютер по-отдельности, а когда все заняты — складывать задачи в очереди к каждому компьютеру с составлением Gnatt-диаграммы и её оптимизацией по мере заполнения очередей поступающими задачами.
Прощу поругать идею и её целесообразность. Если подобные наработки уже имеются — можно ткнуть носом.