Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Прочее »   Форум поддержки прочих разработок »   А как решить такую задачу?...
RSS

А как решить такую задачу?...

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Печать
 
gost
Новичок


Всего сообщений: 1
Рейтинг пользователя: 0





Дата регистрации на форуме:
10 авг. 2005
День добрый!

А каким алгоритмом лучше решить такую задачу:

1. Имеются N различных деталей (от 1000 до 5000 разных деталей).
2. Имеются M разных поставщиков этих деталей (3-5 поставщиков).
3. Цены на одну и ту же деталь у поставщиков разные.
4. В зависимости от суммы РАЗОВОЙ закупки у каждого поставщика есть программа скидок (скидка - в процентах от цены, указанной в прайсе). Имеется таблица скидок.

Нужно так сделать закупку деталей, чтобы суммарные траты на закупку N-деталей были бы минимальными. Естественно, надо учитывать программу скидок у каждого поставщика.

Спасибо.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Без пункта 4 все решается элементарно: если есть 100 деталей и 5 поставщиков, то вводим 500 переменных X, где первые 100 - количество каждой детали, которое надо купить у первого поставщика, еще 100 - у второго и т.д. и ищем миниум. (Целевая функция - сумма всех этих X'ов, помноженых на стоимость каждой детали у данного поставщика.)
А вот чтобы учесть скидки, можно действовать двумя путями: либо применить "метод штрафов", т.е. ввести дополнительные переменные, в которые будут попадать скидки (а процесс попадания - задавать с помощью ограничений), и вычитать эти переменные из целевой функции, либо применить параметризованный метод симплекса (где ограничения могут изменяться в зависимости от некоего параметра t) но это выходит за пределы возможностей моего симплекс-модуля.

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


Всего сообщений: 2
Рейтинг пользователя: 0





Дата регистрации на форуме:
13 мая 2007
люди, помогите плиз!!!!!!!!!!!! :confuse :confuse :confuse
У меня дипломная работа: расчет шихты; так вот, там симплексом считается оптимальный состав шихты. т.е. цена X ->min. Составляется список компонентов, т.е. иксов; каждый компонент имеет свой химический состав и по каждому хим. элементу составляется ограничение. С этим все в норме! Есть нюанс: не знаю перед после расчета или как, но нужно ,например, что-бы X1=0,4 а X2=0.33. Добавлять ограничение типа:
1*x1+0*x2+0*x3+0*x4=0,4
0*x1+1*x2+0*x3+0*x4=0,338 Получается ошибка с базисом.

Я в тупике!!!!!1 :shocked

---
Жизнь-недоработанная "игра", часто патчи устанавливать приходится.
<<Назад  Вперед>>Печать
Объединенный Открытый Проект »   Прочее »   Форум поддержки прочих разработок »   А как решить такую задачу?...
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0513. Количество выполненных запросов: 19, время выполнения запросов 0.0251