Описание
Торговой компании, владеющей сетью магазинов, необходимо закупить женские пальто для розничной продажи. Отдел закупок работает обычно для этого вида одежды с 6 поставщиками, которые обеспечивают необходимый ассортиментный ряд. При закупке применяются три схемы оплаты товара поставщикам:
А - оплата по факту поступления товара;
B – оплата в рассрочку (50% средств оплачивается немедленно после поставки, остальная часть через 30 дней);
С – взятие товара на реализацию (через месяц после поставки производится оплата за реализованный товар, а нереализованный – возвращается).
Цена закупки зависит от выбранной схемы оплаты (см. таблицу). Предполагается, что закупки у каждого из поставщиков можно делать только по одной схеме. У каждого поставщика различные модели изделий, поэтому закупочная цена разная.
Для заполнения площадей магазина товаром необходимо разместить 450 женских пальто. Отдел продаж отобрал несколько моделей пальто и было решено закупить следующие количества пальто у каждого из поставщиков.
Значение «скорость продаж» свидетельствует о доле товара, который предполагается продать в 1 месяц торговли (данные приняты на основании усредненных данных предыдущих сезонов). Для закупок данного вида товара выделен бюджет в размере 300000 руб.
Необходимо выбрать схемы оплаты максимизирующие прибыль магазина.
Решение
Результатом решения модели является план закупок магазина с указанием вариантов оплаты, максимизирующий прибыль:
Прибыль магазина при этом составит 493 950 руб.
В случае необходимости модель может быть адаптирована под дополнительные потребности клиента.
* Пример заимствован из учебного пособия: Зайцев М.Г., Варюхин С.Е. "Методы оптимизации управления и принятия решений: примеры, задачи, кейсы." - 2 изд. испр.-М: Издательство "Дело" АХН, 2008 - 664с.
Форма ввода данных
Раздел находится в разработке...
* Сообщите нам (E-mail, комментарий) если требуется решение модели с данными пользователя.
Модель AMPL (фрагмент кода)
set provider :={1..7}; # Поставщики товаров set payment_scheme := {'A','B','C'}; # Виды оплаты set payment_day := {'1','30'}; # Набор дней оплаты по всем схемам оплаты param scheme_atribute{payment_scheme, payment_day} >= 0; set LINKS within {provider, payment_scheme}; param cost {LINKS} >=0; # Стоимость товаров при различной системе оплаты param demand := 450; # Общий спрос на товары set param_coat := {'price', 'count', 'pace'};# Характеристики поставляемых товаров param atribute {provider,param_coat} >= 0; # Характеристики поставляемых товаров param Total_money>= 0; # Выделенный на закупку бюджет var X{LINKS} >= 0; # Количество закупаемых товаров по каждой из схем оплаты var Y{LINKS} binary; # = 1 только если LINKS используется maximize Total_revenue: sum {(pr,pa) in LINKS: pa!='C'} X [pr,pa] * atribute [pr,"price"] - sum {(pr,pa) in LINKS: pa!='C'} X[pr,pa] / atribute[pr,'pace'] * cost [pr, pa] + sum {(pr,pa) in LINKS: pa ='C'} X[pr,pa] * (atribute[pr,'price'] - cost [pr, pa]); # Максимизация дохода subject to A_2: sum {(pr,pa) in LINKS} X[pr,pa] * cost [pr,pa] * scheme_atribute[pa,'1'] <= Total_money; data; param Total_money := 300000; param scheme_atribute: '1' '30':= 'A' 1 0 # 100% при приемке товара на реализацию 'B' 0.5 0.5 # 50% при приемке, 50% через 30 дней 'C' 0 1 ; # сразу не платится ничего, через месяц после поставки выплачиваются деньги за реализованный # товар и возвращается нереализованный param: LINKS: cost : 'A' 'B' 'C':= 1 2400 2500 . 2 2100 2400 2700 3 2000 2200 2400 4 1500 1600 1900 5 1600 1900 . 6 1300 1400 1600 7 . 1000 1200 ; param atribute: 'price' 'count' 'pace' := 1 5000 50 0.9 2 4800 110 0.8 3 4300 70 0.85 4 3000 50 0.8 5 3200 50 0.9 6 2800 70 0.7 7 2300 50 0.7 ; solve; display X,