Доброе время суток всем
Есть задачка: Имеется ресурс из S условных единиц. Требуется сформировать инвестиционный портфель из набора N инвестиций, каждая из которых характеризуется требуемым ресурсом Si и потенциальным доходом Wi так, чтобы суммарный расход на инвестиции был меньше или равен S, а суммарный потенциальный доход был максимален.
В общем виде эта задача известна как задача формирования портфеля инвестиций, является задачей дискретного программирования и решается перебором с отсечением заведомо невозможных решений.
Алгоритм перебора с отсечение заведомо ложных решений также известен в дискретном программировании как метод ветвей и границ.
Метод Монте-Карло - класс методов, использующих случайный поиск поиска рационального, но не строго оптимального решения.
Для реализации предлагаются две модификации метода:
Одна из известных модификаций - генерация набора случайных допустимых решений и выбор из них наилучшего.
Другая - генерация случайного допустимого решения и серия попыток его улучшения путём извлечения из решения случайно выбранной инвестиции и заменой её другой случайно выбранной инвестицией.
Нужно
1. Организовать ввод имеющегося ресурса и характеристик инвестиций из текстового файла.
2. Организовать алгоритм рекурсивного перебора и отсечением невозможных комбинаций и две модификации метода Монте-Карло.
С первым пунктом и самим программированием - проблем нет. А вот второй пункт - непонятен совсем . Наставьте, пожалуйста, на путь истинный
p.s. простите за много букв
Давай по порядку...
Метод ветвей и границ - это классика. Описан везде, где только можно. Какие с ним проблемы?
Под методом Монте-Карло здесь, насколько я поняла, подразумевается что-то типа генетического алгоритма.
Первая - просто формирование популяции, вторая - именно реализация алгоритма.
В качестве хромосом можно рассматривать последовательность 0 и 1, где 0 в i-ой позиции означает, что инвестиция нас не интересует, а 1 - что мы в нее будем вкладываться...