Устройство для решения задачи о рюкзаке

Изобретение относится к вычислительной технике и предназначено для моделирования процесса заполнения рюкзака различными предметами таким образом, чтобы суммарная стоимость заполненного рюкзака была бы максимальной при ограничениях на суммарный вес всего рюкзака с обязательным помещением в рюкзак некоторого числа разных предметов. Техническим результатом является увеличение функциональных возможностей устройства в части возможности быстрого определения оптимального заполнения рюкзака различными предметами таким образом, чтобы суммарная стоимость заполненного рюкзака была бы максимальной при ограничении на суммарный вес всего рюкзака с обязательным помещением в рюкзак некоторого числа разных предметов. Для достижения технического результата в устройство для решения задачи о рюкзаке дополнительно в него введены группы из m пятых элементов И, элемент задержки, триггер, группа элементов, группа шестых регистров, выход каждого из которых подсоединен к первому входу группы пятых элементов И, второй вход которых подсоединен к выходу элемента, второй вход которого подсоединен к пусковому входу устройства, вход элемента задержки подсоединен к пусковому входу устройства, а выход к первому входу триггера, второй вход которого подсоединен к выходу переполнения счетчика, а выход - к второму входу элемента И. 1 ил.

Реферат

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

Наиболее близким по технической сущности является устройство [1], содержащее группу из m счетчиков 31…3m, генератор тактовых импульсов (ГТИ) 1, выход которого соединен с первым входом первого элемента И 2, выход которого соединен с входом счетчика 31, выход переполнения счетчика 3i (i=1…m-1) подсоединен к входу счетчика 3i+1, информационный выход счетчика 3i (i=1…m) подсоединен к первым входам первого 7i и второго 9i блоков умножения и к первому входу группы вторых элементов И 4i, выход которого подсоединен к входу первого регистра 5i, выход которого является первым выходом 25i устройства, выход второго регистра 6i подсоединен к второму входу первого блока умножения 7i, выход которого подсоединен к одноименному входу первого сумматора 11, выход которого подсоединен к первому входу первой схемы сравнения 14, и к первому входу группы третьих элементов И 17, выход которого подсоединен к входу третьего регистра 15, выход которого подсоединен к второму входу первой схемы сравнения 14, выход которой подсоединен к первому входу четвертого элемента И 16, выход которого подсоединен к второму входу группы третьих элементов И 17 и к вторым входам вторых элементов И 4i (i=1…m), выход четвертого регистра 8i (i=1…m) подсоединен ко второму входу второго блока умножения 9i, выход которого подсоединен к одноименному входу второго сумматора 10, выход которого подсоединен к первому входу второй схемы сравнения 12, второй вход которой подсоединен к выходу пятого регистра 13, а выход подсоединен ко второму входу четвертого элемента И 16, выход переполнения счетчика 3m является выходом 23 устройства.

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

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

Сущность изобретения состоит в том, что в устройство для решения задачи о рюкзаке, содержащее группу из m счетчиков 31…3m, генератор тактовых импульсов (ГТИ) 1, выход которого соединен с первым входом первого элемента И 2, выход которого соединен с входом счетчика 31, выход переполнения счетчика 3i (i=1…m-1) подсоединен к входу счетчика 3i+1, информационный выход счетчика 3i (i=1…m) подсоединен к первым входам первого 7i и второго 9i блоков умножения и к первому входу группы вторых элементов И 4i, выход которого подсоединен к входу первого регистра 5i, выход которого является первым выходом 25i устройства, выход второго регистра 6i подсоединен к второму входу первого блока умножения 7i, выход которого подсоединен к одноименному входу первого сумматора 11, выход которого подсоединен к первому входу первой схемы сравнения 14, и к первому входу группы третьих элементов И 17, выход которого подсоединен к входу третьего регистра 15, выход которого подсоединен к второму входу первой схемы сравнения 14, выход которой подсоединен к первому входу четвертого элемента И 16, выход которого подсоединен к второму входу группы третьих элементов И 17 и к вторым входам вторых элементов И 4i (i=1…m), выход четвертого регистра 8i (i=1…m) подсоединен ко второму входу второго блока умножения 9i, выход которого подсоединен к одноименному входу второго сумматора 10, выход которого подсоединен к первому входу второй схемы сравнения 12, второй вход которой подсоединен к выходу пятого регистра 13, а выход подсоединен ко второму входу четвертого элемента И 16, выход переполнения счетчика 3m является выходом 23 устройства, дополнительно включены группы из m пятых элементов И 181…18m, элемент задержки 19, триггер 20, группа элементов ИЛИ 211…21m, группа шестых регистров 221…22m, выход каждого из которых подсоединен к первому входу группы пятых элементов И 18i, второй вход которых подсоединен к выходу элемента ИЛИ 21i, второй вход которой подсоединен к пусковому входу устройства 24, вход элемента задержки 19 подсоединен к пусковому входу устройства 24, а выход к первому входу триггера 20, второй вход которого подсоединен к выходу переполнения счетчика 3m, а выход - к второму входу элемента И 2.

Проведенный поиск в известной научно-технической литературе не выявил наличие подобных технических решений.

Новизна предлагаемого устройства заключается в том, что новое техническое устройство отличается от прототипа тем, что дополнительно в него введены группы из m пятых элементов И 181…18m, элемент задержки 19, триггер 20, группа элементов ИЛИ 211…21m, группа шестых регистров 221…22m, выход каждого из которых подсоединен к первому входу группы пятых элементов И 18i, второй вход которых подсоединен к выходу элемента ИЛИ 21i, второй вход которого подсоединен к пусковому входу устройства 24, вход элемента задержки 19 подсоединен к пусковому входу устройства 24, а выход к первому входу триггера 20, второй вход которого подсоединен к выходу переполнения счетчика 3m, а выход - к второму входу элемента И 2.

Изобретательский уровень достигается тем, что ввод соответствующих элементов в известный прототип вместе со связями позволяет решить новую техническую задачу, решение которой в известных компьютерах и в литературе, в настоящее время не отражено. Предлагаемое устройство позволяет быстро определить оптимальное заполнение рюкзака (контейнера, баржи, транспортного самолета и т.д.) различными предметами таким образом, чтобы суммарная стоимость заполненного рюкзака была бы максимальной при ограничении на суммарный вес всего рюкзака с обязательным помещением в рюкзак некоторого числа разных предметов (например, для туриста в рюкзаке обязательно должны быть не менее двух пачек сухарей, одной пачки сахара и т.д.).

Сущность изобретения поясняется чертежом. На чертеже (фиг.1) представлена структурная схема предлагаемого устройства, где на фиг.1 представлены генератор тактовых импульсов (ГТИ) 1, первый элемент И 2, счетчики 3i, (i=1…m, где m - число возможных различных предметов для помещения их в рюкзак), m вторых групп элементов И 41…4m, m первых 51…5m и вторых 61…6m регистров, m первых 71…7m блоков умножения, m четвертых 81…8m регистров, m вторых 91…9m блоков умножения, сумматор 10, сумматор 11, схема сравнения 12, регистр 13, схема сравнения 14, регистр 15, элемент И 16, группа элементов И 17, группы из m пятых элементов И 181…18m, элемент задержки 19, триггер 20, группа элементов ИЛИ 211…21m, группа регистров 221…22m, выход 23, пусковой вход устройства 24, выходы 251…25m устройства.

Устройство работает следующим образом.

В исходном состоянии триггер 20, регистр 15, все счетчики 3i (i=1…m, m - число предметов в рюкзаке) и регистры 51…5m устанавливаются в нулевое состояние. На регистре 13 хранится код допустимого веса рюкзака.

На каждом регистре 61…6m хранится код стоимости единицы соответствующего предмета для помещения его в рюкзак. На каждом регистре 81…8m хранится код веса единицы предмета для рюкзака.

На регистрах 22i (i=1…m) хранятся коды чисел нижних границ предметов в рюкзаке (обязательных для помещения их в рюкзак некоторого числа разных предметов, например, для туриста в рюкзаке обязательно должны быть не менее двух пачек сухарей, одной пачки сахара и т.д.).

Выходы переполнения счетчиков 3i (i=1…m-1) подсоединены к входам счетчиков 3i+1, выход переполнения счетчика 3m является выходом 23 устройства и одновременно подсоединен к установочному в нулевое состояние входу триггера 20.

Работа устройства начинается после подачи сигнала ПУСК на вход 24 устройства. После подачи сигнала ПУСК содержимое регистров 22i (i=1…m) через открытые элементы И 18i записываются в счетчики 3i (i=1…m), так как пусковой сигнал через элемент ИЛИ 21i поступает на установочный вход элемента И 18i.

Пусковой сигнал через элемент задержки 19 (задержка осуществляется на время перезаписи содержимого регистров 22i (i=1…m) через открытые элементы И 18i в счетчики 3i) устанавливает триггер 20 в единичное состояние, после чего импульсы с выхода ГТИ 1 начинают поступать через открытый элемент И 2 на вход счетчика 31.

Выход переполнения счетчика 3i (i=1…m-1) подсоединен к входу счетчика 3i+1. С выхода счетчика 3i (i=1…m) код поступает на первые входы блоков умножения 7i и 9i, на вторые входы которых поступают коды с выходов регистров 6i и 8i соответственно.

Код результата с выхода второго блока умножения 9i поступает на одноименный вход сумматора 10, с выхода которого суммарный код веса рюкзака для данного набора предметов поступает на первый вход схемы сравнения 12, на второй вход которой поступает код с выхода регистра 13 со значением допустимого веса рюкзака.

Одновременно код результата с выхода первого блока умножения 7i поступает на одноименный вход сумматора 11, с выхода которого суммарный код стоимости набора предметов в рюкзаке поступает на второй вход группы элементов И 17 и на первый вход схемы сравнения 14, на второй вход которой поступает код с выхода регистра 15 со значением текущей стоимости набора предметов в рюкзаке.

Единичный сигнал на выходе схемы сравнения 12 появляется только в том случае, если код веса рюкзака на выходе сумматора 10 меньше или равен коду на выходе регистра 13 со значением допустимого веса рюкзака.

Единичный сигнал на выходе схемы сравнения 14 появляется только в том случае, если код стоимости набора предметов в рюкзаке на выходе сумматора 11 больше кода стоимости на выходе регистра 15 со значением текущей стоимости набора предметов в рюкзаке.

Сигналы с выходов схем сравнения 12 и 14 поступают на входы элемента И 16, с выхода которого единичный сигнал (в случае всех единичных входных сигналов) поступает на первые входы группы элементов И 4i (i=1…m) и на первый вход группы элементов И 17, на второй вход которой поступает код с выхода сумматора 11 для перезаписи его в регистр 15, куда записывается код наибольшей стоимости набора предметов в рюкзаке.

Через открытые группы элементов И 4i коды с выходов счетчиков 3i поступают на одноименные входы регистров 5i, на которых фиксируются текущие значения количества предметов 1-го типа в рюкзаке и их значения могут быть сняты с выходов 25i.

Сигналы с выходов переполнения счетчиков 3i (i=1…m-1) поступают на входы счетчиков 3i+1. Кроме того, сигнал переполнения с выхода счетчика 3i (i=1…m) через элемент ИЛИ 21i (i=1…m) обеспечивает перезапись кода с выхода регистра 22i через открытые элементы И 18i в счетчики 3i.

Сигнал с выхода переполнения счетчика 3m поступает на установочный в нулевое состояние вход триггера 20, тем самым закрывается элемент И 2, а на выходе 23 устройства появляется сигнал окончания работы и прекращается подача импульсов с выхода ГТИ 1.

Результатом работы устройства являются:

коды на регистрах 5i (i=1…m), на которых фиксируются коды чисел предметов i-го типа (i=1…m) в рюкзаке и снимаются с выходов 25i;

значение максимальной стоимости набора предметов в рюкзаке в регистре 15;

а также сигнал окончания работы 23 устройства.

Источники информации

1. Положительное решение по заявке №2009101397 от 19.01.09.

2. Авторское свидетельство №1383389 кл. G06F 15/20, 1987.

Устройство для решения задачи о рюкзаке, содержащее группу из m счетчиков 31…3m, генератор тактовых импульсов (ГТИ) 1, выход которого соединен с первым входом первого элемента И 2, выход которого соединен с входом счетчика 31, выход переполнения счетчика 3i(i=1…m-1) подсоединен к входу счетчика 3i+1, информационный выход счетчика 3i(i=1…m) подсоединен к первым входам первого 7i и второго 9i блоков умножения и к первому входу группы вторых элементов И 4i, выход которого подсоединен к входу первого регистра 5i, выход которого является первым выходом 25i устройства, выход второго регистра 6i подсоединен к второму входу первого блока умножения 7i, выход которого подсоединен к одноименному входу первого сумматора 11, выход которого подсоединен к первому входу первой схемы сравнения 14, и к первому входу группы третьих элементов И 17, выход которого подсоединен к входу третьего регистра 15, выход которого подсоединен к второму входу первой схемы сравнения 14, выход которой подсоединен к первому входу четвертого элемента И 16, выход которого подсоединен к второму входу группы третьих элементов И 17 и к вторым входам вторых элементов И 4i(i=1…m), выход четвертого регистра 8i(i=1…m) подсоединен ко второму входу второго блока умножения 9i, выход которого подсоединен к одноименному входу второго сумматора 10, выход которого подсоединен к первому входу второй схемы сравнения 12, второй вход которой подсоединен к выходу пятого регистра 13, а выход подсоединен ко второму входу четвертого элемента И 16, выход переполнения счетчика 3m является вторым выходом 23 устройства, отличающееся тем, что в него дополнительно включены группы из m пятых элементов И 181…18m, элемент задержки 19, триггер 20, группа элементов ИЛИ 211…21m, группа шестых регистров 221…22m, выход каждого из которых подсоединен к первому входу группы пятых элементов И 18i, второй вход которых подсоединен к выходу элемента ИЛИ 21i, второй вход которого подсоединен к пусковому входу устройства 24, вход элемента задержки 19 подсоединен к пусковому входу устройства 24, а выход - к первому входу триггера 20, второй вход которого подсоединен к выходу переполнения счетчика 3m, а выход - к второму входу элемента И 2.