|
Заблокирован
|
||||||||||||||||
Набрать самые лучшие (ценные) в некий Рюкзак, с ограничением по полному весу03.10.2015, 13:53. Показов 3325. Ответов 31
Метки нет (Все метки)
Здравствуйте!
Прошу помощи. Встретил интересную задачу с решением. К сожалению, она на Excel (VBA)— мне нравится меньше, чем VB6. Суть задачи. Есть перечень предметов, имеющих два параметра: вес и стоимость. Надо набрать самые лучшие (ценные) в некий Рюкзак, с ограничением по полному весу не более 10000 грамм (10 кг). Возникло много вопросов и мороки. Как избежать канцелярской работы в виде рутины? Например, можно ли ввести все исходные данные как-нибудь готовым списком? Как быть с Формой, тоже много мороки? Пока всё поделил на три этапа: 1) исходные данные задачи; Кликните здесь для просмотра всего текста
2) код для решения задачи; — требуется внести изменения под код VB6 Кликните здесь для просмотра всего текста
3) результат по задаче. Кликните здесь для просмотра всего текста
0
|
||||||||||||||||
| 03.10.2015, 13:53 | |
|
Ответы с готовыми решениями:
31
Самые ценные запросы Яндекса. Самые сильные - самые лучшие?! |
|
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
|
|
| 03.10.2015, 13:58 | |
|
Данные у Вас приходят в текстовом документе, в таком виде как вы их показали?
0
|
|
|
Заблокирован
|
|
| 03.10.2015, 14:31 [ТС] | |
|
UBUNTU, объясняю: как сам понял Ваш вопрос.
Открыл в программе Excel и затем скопировал в Notepad. Потом скрупулёзно внёс изменения на свою манеру, сохранил — для удобного зрительного восприятия. Только по документам: conditions1.txt и result1.txt В исходный код VBA никаких правок не вносил.
0
|
|
|
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
|
|
| 03.10.2015, 14:57 | |
|
Willi2001, Зачем копировать в Notepad, почему не делать все в том же экселе и почему не использовать БД к примеру аксес для простоты работы с данными?
0
|
|
|
Заблокирован
|
||
| 03.10.2015, 15:25 [ТС] | ||
|
Если серьёзный человек, то продемонстрируйте на конкретном примере: в чём выигрыш от Вашего плана действий.
0
|
||
|
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
|
|
| 03.10.2015, 15:38 | |
|
0
|
|
|
Заблокирован
|
|
| 03.10.2015, 15:48 [ТС] | |
|
UBUNTU, хорошо, поясняю. Это очень сложная задача, по силам на форуме 2-3 людям. В решениях подобных задач Вас пока не встречал. Вот и удивляюсь!
0
|
|
|
Заблокирован
|
||||||
| 04.10.2015, 05:46 [ТС] | ||||||
|
Ради любопытства попробовал применить код, ниже, от Казанский. Очень понравилось решение — на уровне интуиции (подсознательно). Необычайный симбиоз. Осталось уточнить детали.
Способ от Казанский Кликните здесь для просмотра всего текста
Моему VB6 многое непонятно, в частности спрашивает: xlWb As Excel.Workbook — что это? Как прописать все пути и куда? Правильно ли думаю: VB6 как "представитель семьи Basic" может легко "читать и усваивать" текстовые файлы?
0
|
||||||
|
Заблокирован
|
||||||
| 22.10.2015, 01:57 [ТС] | ||||||
|
Почитал на досуге отзывы программистов о своей работе. Жизнь беспросветная. Вынуждены заниматься обслуживанием складского учёта. Сплошная рутина.
Вот эту задачу про рюкзак решил за полчаса, без программирования. Просто ввёл качественный показатель — цена за 1 грамм. Решал честно, не заглядывая попутно в выводы и расчёты программистов "Мир MS Excel". Столкнулся с проблемой с превышением веса Рюкзака. Сразу, не ломая голову, отбросил Предмет_37 (523 г) и Предмет_30 (756 г). На скорую руку вставил Предмет_5 (314 г). Потом сильно удивился своей интуиции, когда показатель 9978 грамм оказался одинаковым!
0
|
||||||
|
Заблокирован
|
||||||
| 22.10.2015, 18:06 [ТС] | ||||||
|
Казанский!
Прошу прощения за свою бестолковость. Совсем не понимаю, что именно надо делать? Уж слишком для умных. Помогите, пожалуйста.
Путь: C:\Users\admin\Pictures\Rucksack Проблема: мы пока с VB6 плохо понимаем друг друга. Что он желает получить из Вашего кода? Что ему не нравится? Командную кнопку на Форму поставил, но до неё ещё далеко. Картинка ниже.
0
|
||||||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||||
| 23.10.2015, 07:18 | ||||
В электронном виде - покажи пример
Передавай ей в коммандной строке имя файла. А куда выводить результат решай сам. Функция сбора рюкзака из VBA для применения в VB не требует вмешательсв. Поготовь массив из своего списка и передай в функцию Добавлено через 5 минут
Читай внимательно 3 строку пояснений выше кода и выполняй рекомендации
1
|
||||
|
Заблокирован
|
||
| 23.10.2015, 08:37 [ТС] | ||
|
Пояснение, под "писаниной" понимаю: лишнюю работу по переписке или повторному набору на клавиатуре исходных данных! Как подключить библиотеку Excel для Visual Basic 6.0? Смотрите: Использование Visual Basic для автоматизации Microsoft Excel https://support.microsoft.com/ru-ru/kb/219151 В Visual Basic для этого служит диалоговое окно References (для его вызова в меню Project выберите команду References). Для выполнения представленного программного кода необходимо добавить ссылку на библиотеку типов Excel. References (Рекомендации). У меня установлен на ПК — "Microsoft Excel 2007". Поэтому ставим Флажок для "Microsoft Excel 12.0 Object Library" Смотрите картинки внизу. Чуть позже распишу остальные шаги.
0
|
||
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 23.10.2015, 08:59 | |
|
Это уход в сторону от темы
1. Уже неоднократно был задан вопрос: где находятся списки? Если собираешься делать в VB, то нужен ли вообще ексел? Если спасок в txt, то зачем подключать ексел? Читай из текстовика! Не лей много воды на форум. Не забывай о правилах: Один вопрос - одна тема! Вопрос о рюкзаке! К чему здесь ликбез по подключению библиотек?
1
|
|
|
Заблокирован
|
||
| 23.10.2015, 09:49 [ТС] | ||
|
Вот то, что пытаюсь описывать, неизвестно и непонятно для 99.99 % предпринимателей и бухгалтеров. Конечно, хочу обслуживать интересы бизнеса, только у него есть живые деньги. Пишу искренне, для меня Авторитет: SoftIce, который взял интересный алгоритм у "Михаил Ч". Последнего даже не знаю, но только по его наработкам по России в июле-августе 2015 года стали решаться многомерные оптимизационные задачи. По смыслу Рюкзак: склад, магазин или грузовик. Хочу ввести дополнительные параметры: Потребность, Рентабельность, Оборачиваемость, Габаритность и Надёжность.
0
|
||
|
|
||
| 23.10.2015, 16:35 | ||
|
1
|
||
|
352 / 213 / 42
Регистрация: 04.02.2015
Сообщений: 1,344
|
|
| 23.10.2015, 16:37 | |
|
Pro_grammer, Да прекращайте вы это бот !!! Вы с кем общаетесь
0
|
|
|
Заблокирован
|
||
| 23.10.2015, 22:36 [ТС] | ||
|
Пишу искренне, сам остро нуждаюсь в деньгах. Ищу "золотые жилы", чтобы стать полезным обществу. Зачем мне "что-то" изучать, если на это "что-то" нет никакого спроса. Никому не нужно, даже даром. Тему многомерных оптимизаций исследовал по всем языкам программирования, в течение недели. К сожалению, мои исследования погибли 07.10.15 — из-за "Dr.Web CureIt!" пришлось сделать восстановление системы на 16.09.15 Для любопытных, смотрите внимательно на даты: начиная с Тема навеяна статьей Николая Павлова и заканчивая, в самом конце, Классическую "Задачу о рюкзаке" см. здесь
0
|
||
|
Заблокирован
|
||||||||||||
| 23.10.2015, 23:59 [ТС] | ||||||||||||
Продолжение следует.
0
|
||||||||||||
|
Заблокирован
|
||||||
| 24.10.2015, 03:40 [ТС] | ||||||
|
Задача на оптимизацию для 4-х параметров
Предположим у нас есть фура, которую на складе поставщика надо заполнить самым выгодным товаром. Как быстро посчитать? Какой товар выбрать? У кого какие мысли? Пояснения к задаче: Вообще-то совсем простая задача. Фура – это тягач плюс полуприцеп на 20 тонн и объемом 86 кубов. Весь товар упакован в коробки, имеющие различный вес и объем. Рентабельность, как норма прибыли — торговая наценка на единицу товара. Например: 25800,20 * 0,657521629 = 16964,19 рублей. Объём единицы товара и рентабельность получены через генератор случайных чисел. Весь товар единичный, т.е. партию однородных предметов брать нельзя. Смотрите вложение, где условия в Excel. Условия к задаче
0
|
||||||
|
Заблокирован
|
|||||||
| 24.10.2015, 17:16 [ТС] | |||||||
|
Да, задача про фуру лёгкая, детская. Всё решается за 15-20 минут. Без программирования. Под силу среднему ученику 9-го класса. Пусть абсолютная погрешность: ∆ = ±20 кг Тогда относительная погрешность: δ = ±0,01% Ход рассуждений следующий, по "Microsoft Excel 2007": 1) Автосумма по весу всех предметов: ∑ = 50029 > 20000. Учитываем ограничения 2) Автосумма по весу всех предметов: ∑ = 54,67 < 86. Пренебрегаем ограничениями. 3) Принципиальная формула вычислений по каждому Предмету: Рентабельность на 1 кг = Стоимость/Вес * Норма рентабельности Например: Предмет_1 = С5/B5 * E5 = 25800,20/300 * 0,657522 = 56,5473 4) Для всех остальных вычислений по столбцу "Наш Выбор" используем Опцию "Распространение узора вниз", наш Excel справится за секунду! 5) Делаем сортировку по столбцу "Наш Выбор", используя "Настраиваемую сортировку по убыванию". Получаем самые выгодные товары по убыванию. 6) Переходим в столбец "Вес в кг", где используя Опцию "Формулы" —> "∑ Автосумма ". После нескольких прикидочных подсчётов получаем допустимую сумму — 20006 кг. 7) Удаляем излишние строки, получаем список самых выгодных товаров для загрузки в фуру. 8) Подсчитываем прибыль от загрузки: Прибыль = Вес * Норма прибыли (Наш выбор) Например: Предмет_ 12 = B5 * F5 = 145 * 220,1649 = 31923,91 рублей. 9) Опять выполняем "Распространение узора вниз" по столбцу "Прибыль", затем используем "∑ Автосумма ". Получаем общую сумму прибыли — 847531,14 рублей. Результат по прибыли
0
|
|||||||
| 24.10.2015, 17:16 | |
|
Помогаю со студенческими работами здесь
20
Самые лучшие книги joomla Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|