knapsack_selection.md•14.8 kB
# Задачи выбора (Рюкзак) - Примеры использования
## Описание
Задачи выбора (knapsack) решают проблему оптимального отбора предметов с ограниченной вместимостью для максимизации общей ценности или минимизации затрат.
## Примеры промптов для LLM
### Пример 1: Классическая задача о рюкзаке
```
Помоги решить задачу о рюкзаке с помощью MCP Optimizer.
У меня есть рюкзак вместимостью 50 кг и следующие предметы для похода:
Предметы:
- Палатка: вес 8 кг, ценность 100 баллов
- Спальник: вес 3 кг, ценность 70 баллов
- Еда на 3 дня: вес 6 кг, ценность 90 баллов
- Вода 5л: вес 5 кг, ценность 80 баллов
- Горелка: вес 2 кг, ценность 60 баллов
- Аптечка: вес 1 кг, ценность 50 баллов
- Фонарик: вес 0.5 кг, ценность 40 баллов
- Запасная одежда: вес 4 кг, ценность 30 баллов
- Книга: вес 1 кг, ценность 20 баллов
- Фотоаппарат: вес 2 кг, ценность 85 баллов
Найди оптимальный набор предметов для максимизации полезности похода.
```
### Пример 2: Инвестиционный портфель с ограниченным бюджетом
```
Используй MCP Optimizer для выбора инвестиционных проектов.
Компания имеет бюджет 10 миллионов рублей на инвестиции в следующие проекты:
Проекты:
- Новая производственная линия: стоимость 3 млн, NPV 5 млн
- Модернизация склада: стоимость 2 млн, NPV 3.5 млн
- IT-система: стоимость 1.5 млн, NPV 2.8 млн
- Маркетинговая кампания: стоимость 1 млн, NPV 1.8 млн
- Обучение персонала: стоимость 0.5 млн, NPV 1.2 млн
- Исследования и разработки: стоимость 4 млн, NPV 6 млн
- Расширение офиса: стоимость 2.5 млн, NPV 3 млн
- Автоматизация процессов: стоимость 3.5 млн, NPV 4.5 млн
Дополнительные ограничения:
- Можно выбрать максимум 5 проектов
- IT-система и автоматизация взаимозависимы (либо оба, либо ни одного)
- Обучение персонала обязательно при выборе новой линии
Максимизируй общую NPV при соблюдении всех ограничений.
```
### Пример 3: Оптимизация грузового контейнера
```
Реши задачу загрузки контейнера с MCP Optimizer.
Морской контейнер имеет ограничения:
- Максимальный вес: 25 тонн
- Максимальный объем: 60 м³
Товары для отправки:
- Электроника: 2 тонны, 5 м³, стоимость 500,000 руб
- Одежда: 1 тонна, 8 м³, стоимость 200,000 руб
- Мебель: 5 тонн, 15 м³, стоимость 300,000 руб
- Автозапчасти: 3 тонны, 4 м³, стоимость 400,000 руб
- Книги: 4 тонны, 6 м³, стоимость 150,000 руб
- Игрушки: 1.5 тонны, 10 м³, стоимость 250,000 руб
- Спортивные товары: 2.5 тонны, 7 м³, стоимость 180,000 руб
- Бытовая техника: 6 тонн, 12 м³, стоимость 600,000 руб
Дополнительные условия:
- Хрупкие товары (электроника, бытовая техника) нельзя перегружать
- Приоритет отдается товарам с высокой стоимостью за кг
Максимизируй стоимость груза в контейнере.
```
### Пример 4: Планирование меню ресторана
```
Помоги спланировать меню ресторана с MCP Optimizer.
Ресторан имеет ограничения:
- Бюджет на закупку продуктов: 100,000 руб/неделя
- Время приготовления: максимум 200 часов/неделя
- Холодильное пространство: 50 м³
Блюда для меню:
- Стейк: себестоимость 800 руб, время 0.5 ч, место 0.2 м³, прибыль 1200 руб
- Паста: себестоимость 200 руб, время 0.3 ч, место 0.1 м³, прибыль 400 руб
- Салат Цезарь: себестоимость 300 руб, время 0.2 ч, место 0.3 м³, прибыль 500 руб
- Суп дня: себестоимость 150 руб, время 0.4 ч, место 0.1 м³, прибыль 250 руб
- Рыба гриль: себестоимость 600 руб, время 0.4 ч, место 0.4 м³, прибыль 900 руб
- Пицца: себестоимость 400 руб, время 0.3 ч, место 0.2 м³, прибыль 700 руб
- Десерт: себестоимость 250 руб, время 0.2 ч, место 0.2 м³, прибыль 450 руб
- Бургер: себестоимость 350 руб, время 0.25 ч, место 0.3 м³, прибыль 550 руб
Ожидаемый спрос (порций/неделя):
Стейк: 50, Паста: 120, Цезарь: 80, Суп: 100, Рыба: 60, Пицца: 90, Десерт: 70, Бургер: 85
Максимизируй прибыль ресторана.
```
### Пример 5: Оптимизация рекламного бюджета
```
Оптимизируй распределение рекламного бюджета с MCP Optimizer.
Маркетинговый отдел имеет:
- Общий бюджет: 5 миллионов рублей
- Ограничение по времени: 3 месяца до запуска
- Максимум 8 рекламных каналов
Рекламные каналы:
- ТВ реклама: стоимость 1.5 млн, охват 2 млн человек, конверсия 2%
- Интернет-реклама: стоимость 800 тыс, охват 1.5 млн, конверсия 3.5%
- Радио: стоимость 400 тыс, охват 800 тыс, конверсия 1.5%
- Наружная реклама: стоимость 600 тыс, охват 1 млн, конверсия 1%
- Социальные сети: стоимость 300 тыс, охват 1.2 млн, конверсия 4%
- Email-рассылка: стоимость 100 тыс, охват 500 тыс, конверсия 5%
- Контекстная реклама: стоимость 500 тыс, охват 800 тыс, конверсия 6%
- Блогеры: стоимость 700 тыс, охват 600 тыс, конверсия 3%
- Печатные СМИ: стоимость 350 тыс, охват 400 тыс, конверсия 1.2%
- Выставки: стоимость 900 тыс, охват 200 тыс, конверсия 8%
Ограничения:
- Обязательно включить интернет-рекламу
- ТВ и радио нельзя использовать одновременно
- Минимум 3 цифровых канала
Максимизируй количество потенциальных клиентов.
```
### Пример 6: Формирование команды проекта
```
Помоги сформировать команду проекта с MCP Optimizer.
IT-проект требует:
- Бюджет на зарплаты: 2 миллиона рублей/месяц
- Максимум 12 человек в команде
- Срок проекта: 6 месяцев
Доступные специалисты:
- Senior разработчик: 200 тыс/мес, навыки 95 баллов, опыт 8 лет
- Middle разработчик: 120 тыс/мес, навыки 75 баллов, опыт 4 года
- Junior разработчик: 70 тыс/мес, навыки 50 баллов, опыт 1 год
- Архитектор: 250 тыс/мес, навыки 90 баллов, опыт 10 лет
- DevOps инженер: 180 тыс/мес, навыки 80 баллов, опыт 5 лет
- Тестировщик: 100 тыс/мес, навыки 70 баллов, опыт 3 года
- UI/UX дизайнер: 130 тыс/мес, навыки 85 баллов, опыт 4 года
- Аналитик: 140 тыс/мес, навыки 75 баллов, опыт 5 лет
- Проект-менеджер: 160 тыс/мес, навыки 80 баллов, опыт 6 лет
- Технический писатель: 90 тыс/мес, навыки 60 баллов, опыт 2 года
Требования:
- Минимум 1 архитектор
- Минимум 3 разработчика
- Обязательно 1 проект-менеджер
- Соотношение Senior:Middle:Junior = 1:2:1
Максимизируй общий уровень навыков команды.
```
### Пример 7: Оптимизация производственной программы
```
Оптимизируй производственную программу с MCP Optimizer.
Завод имеет ограничения:
- Рабочее время: 2000 часов/месяц
- Сырье типа А: 5000 кг/месяц
- Сырье типа Б: 3000 кг/месяц
- Складские площади: 1000 м²
Продукция:
- Изделие 1: время 2 ч, сырье А 5 кг, сырье Б 2 кг, место 1 м², прибыль 500 руб
- Изделие 2: время 3 ч, сырье А 3 кг, сырье Б 4 кг, место 1.5 м², прибыль 700 руб
- Изделие 3: время 1.5 ч, сырье А 4 кг, сырье Б 1 кг, место 0.8 м², прибыль 400 руб
- Изделие 4: время 4 ч, сырье А 6 кг, сырье Б 5 кг, место 2 м², прибыль 900 руб
- Изделие 5: время 2.5 ч, сырье А 2 кг, сырье Б 3 кг, место 1.2 м², прибыль 600 руб
Рыночные ограничения (максимальный спрос):
- Изделие 1: 800 штук
- Изделие 2: 500 штук
- Изделие 3: 1000 штук
- Изделие 4: 300 штук
- Изделие 5: 600 штук
Дополнительные условия:
- Изделие 4 можно производить только при производстве изделия 2
- Минимум 100 штук изделия 1 (базовый продукт)
Максимизируй месячную прибыль.
```
### Пример 8: Планирование научных исследований
```
Помоги спланировать научные исследования с MCP Optimizer.
Научный институт имеет:
- Годовой бюджет: 50 миллионов рублей
- Исследовательское время: 10,000 человеко-часов
- Лабораторное оборудование: 20 установок
Исследовательские проекты:
- Проект А (медицина): бюджет 8 млн, время 1500 ч, оборудование 3 ед, научная ценность 90
- Проект Б (энергетика): бюджет 12 млн, время 2000 ч, оборудование 5 ед, научная ценность 95
- Проект В (материалы): бюджет 6 млн, время 1200 ч, оборудование 2 ед, научная ценность 80
- Проект Г (ИИ): бюджет 10 млн, время 1800 ч, оборудование 1 ед, научная ценность 100
- Проект Д (экология): бюджет 4 млн, время 800 ч, оборудование 2 ед, научная ценность 70
- Проект Е (космос): бюджет 15 млн, время 2500 ч, оборудование 8 ед, научная ценность 98
- Проект Ж (биотех): бюджет 7 млн, время 1300 ч, оборудование 4 ед, научная ценность 85
- Проект З (квантовые технологии): бюджет 20 млн, время 3000 ч, оборудование 6 ед, научная ценность 100
Ограничения:
- Максимум 5 проектов одновременно
- Проект Г требует завершения проекта В
- Минимум 1 проект в области медицины или биотехнологий
Максимизируй общую научную ценность исследований.
```
## Структура запроса к MCP Optimizer
```python
# Пример для задачи о рюкзаке
result = solve_knapsack_problem(
items=[
{"name": "Предмет1", "weight": 10, "value": 60},
{"name": "Предмет2", "weight": 20, "value": 100},
{"name": "Предмет3", "weight": 30, "value": 120}
],
capacity=50,
knapsack_type="0-1" # или "bounded", "unbounded"
)
```
## Типичные фразы для активации
- "Реши задачу о рюкзаке"
- "Выбери оптимальный набор предметов"
- "Максимизируй ценность при ограниченной вместимости"
- "Оптимизируй выбор с ограниченным бюджетом"
- "Найди лучшую комбинацию элементов"
- "Помоги с оптимальным отбором"
## Применение
Задачи выбора используются в:
- Планировании инвестиций
- Логистике и грузоперевозках
- Управлении ресурсами
- Формировании команд
- Планировании производства
- Научных исследованиях
- Маркетинге и рекламе