Неполадки при создании модели для оптимизации графика в объекте смешивания - PullRequest
0 голосов
/ 08 мая 2019

Первоначально я пытался решить эту проблему в VBA.Ссылка на этот пост находится здесь: Как я могу реализовать алгоритм dijkstra для оптимизации графика смешивания?

Сейчас я хочу использовать мини-цинк для создания модели для моего объекта смешивания, ноЯ заблудился.

Суть проблемы в том, что мне нужна модель, которая позволяет мне вводить:

Какие смеси мне нужны по расписанию (упрощенно здесь как Blends AF, на самом деле A-AF, с 30+ смешиваниями.)

Текущий смешиваемый продукт

День недели

Количество каждой из этих смесей, которое необходимо запланировать (обычно в пределахот 0-8ish)

Вывод:

Вывести расписание, которое занимает наименьшее количество дней / стирок в {| M, T, W, T, F, | M, T, W,T, F, |}… формат с именами смесей и моющих средств вместо рабочих дней.Использование матрицы переходных затрат, например;Стоимость от A до F составляет 2 дня (в матрице 1,6), 1 для смеси, 1 для стирки.AA (1,1), AB (1,2) стоимость 1 день ... и т. Д .;обведено в матрицу 6X6 в порядке AF.

Мои проблемы:

Я новичок в этом, я не уверен, с чего начать.Я смотрел базовый учебник Coursera по мини-цинку, но не нашел его невероятно полезным.

Как создать массив, который может содержать каждую комбинацию узлов в последовательностях (определяется тем, какие смеси / количества вводятся)

Как определить функцию, которую я пытаюсь минимизировать?Для этого необходимо сослаться на предыдущую смесь для первого добавления стоимости, а затем использовать матрицу затрат для определения стоимости каждого будущего перехода, суммируя их для общего времени / дня.

Как создатьвыходная матрица, которая начинается в выбранный день и создает 5-дневный график / строку до тех пор, пока не будет завершена каждая смесьи как я могу сделать так, чтобы выходные данные отображали день наложения, за которым следует день стирки, когда стоимость перехода определена как 2?

См. мой предыдущий пост и код для того, что я пробовал в VBA, ссылка выше.

Quantity = { 3, 2, 1, 2, 5, 1 }

%Enum Quantity
%Enum Blendcost

array [Blends] of int: Quantity;
array [Blends] of int: costgrid;

%Blendcost(curblend, nexblend)
Blendcost = [|1,2,2,2,2,|1,1,1,1,1,1,|1,1,1,1,1,1,|2,2,2,1,2,2,|1,1,1,1,1,1,|1,1,1,1,1,1,|];
...