4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 10 августа 2005 22:09
Без пункта 4 все решается элементарно: если есть 100 деталей и 5 поставщиков, то вводим 500 переменных X, где первые 100 - количество каждой детали, которое надо купить у первого поставщика, еще 100 - у второго и т.д. и ищем миниум. (Целевая функция - сумма всех этих X'ов, помноженых на стоимость каждой детали у данного поставщика.)
А вот чтобы учесть скидки, можно действовать двумя путями: либо применить "метод штрафов", т.е. ввести дополнительные переменные, в которые будут попадать скидки (а процесс попадания - задавать с помощью ограничений), и вычитать эти переменные из целевой функции, либо применить параметризованный метод симплекса (где ограничения могут изменяться в зависимости от некоего параметра t) но это выходит за пределы возможностей моего симплекс-модуля.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
|