Задача с решением на спрос и предложение: Задачи и решения по теме:«Спрос, предложение,эластичность, равновесие рынка»

Содержание

Кривые спроса и предложения. Решение графических задач задания А8. (11 класс)

Похожие презентации:

Экономика Германии

Бухгалтерский баланс

Экономика Китая

Цифровая экономика

Инфляция и семейная экономика

Экономика Китая

Конкуренция. Виды конкуренции

Казахстанская модель экономического развития

Инфляция (виды, причины и последствия)

Теневая экономика

1. 11 класс ЕГЭ по обществознанию

Решение графических задач
Задания А8
Автор ресурса:
Студенцова Анна Алексеевна
учитель истории и обществознания
МАОУ Гимназия №6
г.Тихорецка

2. Закон спроса

Чем выше цена, тем
меньше количество
спроса
D- линия спроса
Чем ниже цена, тем
больше количество
спроса
P- цена, Q-количество
Закон спроса

3. Но на изменение количества спроса могут влиять и не ценовые факторы.

Влияние цены
на изменение
количества
спроса будет
отображаться
графиком с
изображением
одной линии
спроса.
Но на изменение количества спроса
могут влиять и не ценовые факторы.

4. Вид сдвига графика спроса при влиянии не ценовых факторов

Не ценовые факторы,
влияющие на спрос:
Уровень доходов
потребителей;
Влияние моды;
Сезонность;
Товары заменители
(субституты)
Действия правительства;
Инфляционные
ожидания;
Форс-мажорные
обстоятельства
Вид сдвига графика спроса при
влиянии не ценовых факторов

5. Задача 1. На рисунке отражена ситуация на рынке строитель- ных материалов: линия спроса D переместилась в новое положение D1

Задача 1. На рисунке отражена ситуация на рынке строительных материалов: линия спроса D переместилась в новое
положение D1 (P-цена товара, Q- величина спроса)
Изменение спроса может
быть вызвано прежде
всего:
Ростом числа
производителей
строительных
материалов
2. Введением нового
налога на
производителей
3. Совершенствованием
технологии
4. Ожиданием
повышения цен на
строительные
материалы
1.

6. Алгоритм рассуждений: — пункты 1,2,3 характеризуют изменение предложения; — движение от Q1 – Q2 показывает увеличение величины

спроса, что соответствует ситуации под №4.
Изменение спроса может
быть вызвано прежде
всего:
Ростом числа
производителей
строительных
материалов
2. Введением нового
налога на
производителей
3. Совершенствованием
технологии
4. Ожиданием
повышения цен на
строительные
материалы
1.

7. Задача 2. На рисунке отражена ситуация на рынке телевизоров: линия спроса D переместилась в новое положение D1 (P-цена товара,

Задача 2.
На рисунке отражена ситуация на
телевизоров: линия спроса D переместилась в
положение D1 (P-цена товара, Q- величина спроса)
рынке
новое
Изменение спроса может
быть вызвано прежде
всего:
Уменьшением чиста
производителей
телевизоров
2. Изменением
технологии
плазменных экранов
3. Снижением доходов
потребителей
4. Усилением
конкуренции
товаропроизводителей
1.

8. Задача 2. Алгоритм рассуждений: — пункты 1,2,4 характеризуют изменение предложения; — движение от Q1 – Q2 показывает уменьшение

величины
спроса, что соответствует ситуации под №3.
Изменение спроса может
быть вызвано прежде
всего:
Уменьшением чиста
производителей
телевизоров
2. Изменением
технологии
плазменных экранов
3. Снижением доходов
потребителей
4. Усилением
конкуренции
товаропроизводителей
1.

9. Закон предложения

Чем ниже цена, тем
меньше количество
спроса
P- цена, Q-количество
Чем выше цена, тем
больше количество
предложения
S- линия спроса
Закон предложения

10. Но на изменение количества предложения могут влиять и не ценовые факторы.

Влияние цены
на изменение
количества
предложения
будет
отображаться
графиком с
изображением
одной линии
предложения.
Но на изменение количества предложения
могут влиять и не ценовые факторы.

11. Вид сдвига графика предложения при влиянии не ценовых факторов

Не ценовые факторы,
влияющие на
изменение
предложения:
Изменение технологий;
Налоги и дотации;
Доступность ресурсов;
Существование товаров
заменителей;
Наличие дополняющих
товаров(комплементов)
Погодные условия;
Инфляционные
ожидания;
Объемы рынка.
Вид сдвига графика предложения при
влиянии не ценовых факторов

12. Задача 3. На рисунке отражена ситуация на рынке жилья: линия предложения S переместилась в новое положение S1 (P-цена товара,

Q- величина спроса)
Это перемещение может
быть вызвано прежде
всего:
1.
Возросшими
требованиями к
застройщикам
2.
Ростом доходов
населения
3.
Сокращением издержек
производства нового
жилья
4.
Субсидированием
строителей

13. Задача 3. Алгоритм рассуждений: — пункт 2 характеризует изменение спроса; — пункты 3,4 будут увеличивать рост производства; —

движение от Q1 – Q2 показывает уменьшение величины
предложения, что соответствует ситуации под №1.
Это перемещение может
быть вызвано прежде
всего:
1.
Возросшими
требованиями к
застройщикам
2.
Ростом доходов
населения
3.
Сокращением издержек
производства нового
жилья
4.
Субсидированием
строителей

14. Задача 4. На рисунке отражены изменения, произошедшие с предложением свежевыловленной рыбы: линия предложения S переместилась в

новое положение S1 (P-цена товара, Qвеличина спроса)
Это перемещение может
быть вызвано прежде всего:
1.
Совершенствованием
технологии разведения
рыбы;
2.
С приближением
отпусков работников
рыбных хозяйств;
3.
С популяризацией в СМИ
блюд из рыбы и
изданием книг о
здоровой пище;
4.
С повышением цен на
другие продукты,
содержащие белок.

15. Задача 4. Алгоритм рассуждений: — пункт 3,4 — характеризует изменение спроса; — пункты 2 ведет к спаду производства; — движение

от Q1 – Q2 показывает увеличение количества
предложения, что соответствует ситуации под №1.
Это перемещение может быть
вызвано прежде всего:
1.
Совершенствованием
технологии разведения рыбы;
2.
С приближением отпусков
работников рыбных хозяйств;
3.
С популяризацией в СМИ
блюд из рыбы и изданием
книг о здоровой пище;
4.
С повышением цен на другие
продукты, содержащие белок.

16. Задачи для самостоятельного анализа.

17. Задача 5. На рисунке отражена ситуация на рынке тобачных изделий: линия спроса D переместилась в новое положение D1 (P-цена

товара, Q- величина спроса)
Изменение спроса может быть
вызвано прежде всего:
1.
Ростом доходов
производителей табака;
2.
Изменением предпочтений
людей;
3.
Совершенствованием
технологии производства
табачных изделий;
4.
Усилением конкуренции
производителей.

18. Задача 5. На рисунке отражена ситуация на рынке тобачных изделий: линия спроса D переместилась в новое положение D1 (P-цена

товара, Q- величина спроса)
Изменение спроса может быть
вызвано прежде всего:
1.
Ростом доходов
производителей табака;
2.
Изменением предпочтений
людей;
3.
Совершенствованием
технологии производства
табачных изделий;
4.
Усилением конкуренции
производителей.

19. Задача 4. На рисунке отражены измененияна рынке бытовой химии: линия предложения S переместилась в новое положение S1 (P-цена

товара, Q- величина спроса)
Это перемещение может
быть вызвано прежде всего:
1.
Слухами о вреде
бытовой химии для
здоровья;
2.
Наступлением сезона
отпусков;
3.
Появлением средств на
основе природных
компонентов;
4.
Сокращением издержек
производства бытовой
химии.

20. Задача 4. На рисунке отражены измененияна рынке бытовой химии: линия предложения S переместилась в новое положение S1 (P-цена

товара, Q- величина спроса)
Это перемещение может
быть вызвано прежде
всего:
1.
Слухами о вреде
бытовой химии для
здоровья;
2.
Наступлением сезона
отпусков;
3.
Появлением средств на
основе природных
компонентов;
4.
Сокращением
издержек производства
бытовой химии.

21. Литература: 1. А.Ю.Лазебникова, Е.Л. Рутковская. Типовые тестовые задания по обществознанию. М.: Экзамен , 2013г 2.

Е.В.Савицкая. Уроки экономики в школе. М.:
Вита-Пресс.2002
3. П.А.Баранов. Экспресс –репетитор для
подготовки к ЕГЭ «Экономика».М.: Астрель.
2012

22. Спасибо за внимание

English     Русский Правила

решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM / Хабр

Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптимизационных задач.

Я бы хотел поделиться личным опытом решения транспортной задачи с применением Python-библиотеки DOcplex от IBM. Если вкратце, то это задача про то, как с наименьшими затратами доставить продукцию или товары от производителей к покупателям, учитывая предложение первых и спрос вторых. В статье я дам основные определения транспортной задачи, покажу, как правильно сформулировать её условие, а также приведу пример решения на Python.


На Хабре есть несколько публикаций по решению транспортной задачи [1, 2]. Однако, их недостатком является то, что они не рыночные, так как учитывают только одну сторону рынка — предложение. На рынке кроме предложения существует спрос, который является не менее важным самостоятельным фактором. Поэтому есть основания рассмотреть решение транспортной задачи, учитывающей и спрос и предложение.

Что же за транспортная задача, и как её решать?


Вообще, моё решение подобной задачи началось с обращения к сотрудникам компании: «Кто-нибудь разбирается в линейном программировании, знает симплекс-метод и ориентируется в теории игр?». Комбинация замысловатых определений для меня оказалась новой, вызывающей интерес, и, как всякий разработчик с прытким умом и страстью к решению новых для себя задач, я, конечно же, взялся за исследование данного вопроса.
Как оказалось позднее, транспортная задача и является одной из задач линейного программирования.

Транспортная задача – это математическая задача по нахождению оптимального распределения поставок однородного «товара» (груза, вещества) между пунктами отправления и назначения при заданных, численно выраженных затратах (стоимостях, расходах) на перевозку.

В условиях современной рыночной экономики логистика – основа успешного бизнеса.
Как производство товара или услуги, так и её реализация напрямую зависят от качества работы отдела логистики. Залогом успешной деятельности логиста на микро- и макроуровне является умение решать оптимизационные задачи, то есть найти наилучшее решение из всех допустимых [3].

В своей публикации я хотел бы рассказать о решении транспортной задачи, которая является учебной, однако, хорошо отражает общий подход к решению подобного рода задач, и всегда может оказаться полезной на практике.

Итак, условие задачи


Рассмотрим гипотетический рынок химического продукта, используемого в промышленности для изготовления растворителей и синтеза полимеров. Допустим, что имеется три производителя данного продукта и четыре крупных покупателя, другие покупатели являются слишком мелкими и их влиянием можно пренебречь. Предположим, что все три производителя создают абсолютно одинаковый продукт, и у покупателей на внутреннем рынке нет никаких предпочтений относительно выбора того или иного производителя кроме цены.

Поставки продукта от производителя покупателям осуществляются по железной дороге в цистернах за счет производителя, т.е. расходы на перевозку прибавляются к расходам производителя. Тариф на перевозку зависит от расстояния доставки. Каждый производитель может доставить продукт до любого покупателя, при этом понеся соответствующие расходы за транспортировку. Также у любого поставщика есть возможность доставить любое количество своего продукта по железной дороге в морской порт, откуда его можно продать зарубежным покупателям по некоторой фиксированной цене, не зависящей от количества продукта (т.е. цена продажи 1 тонны и 10 000 тонн продукта будет одинаковой).

Предположим, что все поставщики действуют рационально. Также примем, что если один из них может повысить свою прибыль, понизив цену и забрав долю рынка у конкурентов, то он непременно сделает это. Цена, по которой можно продать продукт в порту, составляет 50 долларов за тонну. Покупателями продукта на внутреннем рынке являются крупные промышленные компании. При этом потребности покупателей неэластичны по цене в диапазоне до 100 долларов за тонну продукта, а при большей цене покупатели откажутся от покупки.

Каждый покупатель приобретает фиксированное количество продукта каждый месяц. Примем, что покупатель гарантированно меняет поставщика, если ему предлагается цена на ниже той, по которой он покупает в настоящее время.

Задача заключается в том, чтобы определить, кто, у кого и по каким ценам будет покупать продукт после того, как рынок придет в состояние равновесия, т.е. когда ни у кого из производителей не будет мотивации менять цены или объемы поставок.

Данная задача является так называемой закрытой транспортной задачей, потому как суммарный спрос потребителей, включая морской порт, больше суммарного объема груза имеющегося у производителей. Давайте для лучшего понимания условий задачи и большей наглядности изобразим схему возможных взаимодействий производителей с покупателями и морским портом.

Также, для упрощения восприятия условий задачи, сформируем их в виде трёх таблиц.

Теперь, для решения нашей задачи, необходимо внести немного формализма и перевести задачу с повествовательного языка на язык математики. Перед этим я дам несколько устоявшихся в области линейного программирования определений, чтобы в дальнейшем можно было ими оперировать.

Математическая модель задачи линейного программирования состоит из трёх основных элементов.

  1. Целевая функция. Данную функцию будем обозначать через Z. Она должна количественно отражать значение цели в зависимости от значений неизвестных переменных. Целевая функция может быть на нахождение максимального значения (прибыль предприятия) или минимального значения (себестоимость, затраты).
  2. Ограничения. В реальной экономической системе существуют ограничения, например, на объём используемых ресурсов, которые должны быть учтены при построении математической модели.
    Ограничения должны быть записаны в виде математических соотношений (уравнений или неравенств).
  3. Условия неотрицательности переменных. Неизвестные переменные задачи отражают некоторые реальные параметры экономической системы, которые, как правило, не могут принимать отрицательных значений, поэтому соответствующие неизвестные переменные должны быть положительными или нулевыми.

Запишем целевую функцию для нашей задачи. В нашем случае целевая функция должна содержать себестоимость единицы продукта, затраты на его доставку, спрос покупателей в зависимости от стоимости продукта и затрат на доставку, возможность поставки продуктов от производителей в порт. Итак, получается следующая целевая функция.

где
– цена за тонну продукта -го производителя -му покупателю;
– количество тонн продукта, поставленного от -го производителя -му покупателю;
– затраты на ж.д. перевозку и производство продукта от -го производителя -му покупателю;
– есть или нет (1-есть, 0-нету) поставка продукта от -го производителя -му покупателю;
– количество тонн продукта, поставленного от -го производителя в порт;
– фиксированная цена на продажу продукта в порту;
– затраты на ж. д. перевозку и производство 1-ой тонны продукта от -го производителя в порт;
– количество производителей;
– количество покупателей.

Далее, чтобы наша целевая функция приблизилась к реальной жизни, выполняла условия задачи и не имела бесконечного количества решений, необходимо ввести ряд ограничений.

  1. Первое ограничение. Каждый производитель не может суммарно поставить покупателям или в порт количество продуктов больше, чем он сам производит.
    • для 1-го производителя:
    • для 2-го производителя:
    • для 3-го производителя:

  2. Второе ограничение. Покупатели приобретают ровно то количество продуктов, которое им требуется в месяц.
    • для 1-го покупателя:
    • для 2-го покупателя:
    • для 3-го покупателя:
    • для 4-го покупателя:

  3. Третье ограничение. Для каждого покупателя цена не может превышать 100 USD.
    • для каждого покупателя:

  4. Четвёртое ограничение. Количество поставляемого продукта для любого покупателя не может быть отрицательным.

Пятое ограничение. Это ограничение как раз и будет учитывать спрос и предложение и направлено на вычисление цены, определяющей баланс интересов всех участников рынка. В теории игр такой баланс интересов называется равновесием Нэша, или выбор таких стратегий игроков, в котором ни один участник не может увеличить выигрыш (в нашем случае прибыль), изменив свою стратегию, если другие участники свои стратегии не меняют [4].

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

Наименее выгодная цена для производителей при поставке покупателям

Теперь, когда задача записана математически, можно приступить к реализации решения. Для решения этой задачи я выбрал Python библиотеку от IBM DOcplex (Decision Optimization CPLEX).

Для нахождения решения нашей оптимизационной задачи необходимо найти максимальное значение целевой функции, то есть максимизировать прибыль всех производителей при выполнении сформулированных ограничений.

Моё решение задачи началось с поиска имеющихся готовых инструментов для решения задач линейного программирования. В итоге по душе мне пришёлся довольно мощный программный продукт от IBM под названием IBM ILOG CPLEX Optimization Studio. Он включает в себя среду разработки и решения различных оптимизационных задач, в том числе задач линейного программирования. Содержит хорошую документацию и, самое главное, множество разнообразных примеров решения типовых оптимизационных задач. Также в комплект программного продукта IBM ILOG CPLEX Optimization Studio входит Python библиотека DOcplex и примеры её использования в Jupyter Notebook. Ниже рассмотрим ход моего решения задачи в Jupyter Notebook.

Ход решения в Jupyter Notebook

Как всегда, начинаем с импорта необходимых стандартных библиотек. Из дополнительных библиотек подключаем docplex – о ней мы уже сказали выше, и networkx – эта библиотека поможет нам построить наглядное решение нашей задачи в виде графа.

import pandas as pd
import docplex.mp as dpx
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import networkx as nx
import warnings
warnings.filterwarnings('ignore')
boldText = '\033[1m'

Далее, задаём исходные данные условия задачи из таблиц 1-3.

1. Исходные данные

# Данные по поставщикам
NProds = 3            #Количество производителей
NBuyers = 4           #Количество покупателей
d = 50                  #Константная цена товара в Порту
BuyersMaxPrice = 100    #максимальная цена
# Производители
ProdIndex=[]
for i in range(NProds):
    ProdIndex. append('P'+ str(i+1))
ProdData = {'Possibilities': [890,534,1153],
            'SupplyPort': [18,13,18],
            'ProdCost': [12,21,10],
            'PortPrice': [d,d,d],
            'Overhead': [18+12,13+21,18+10]
            }
Producers = pd.DataFrame(ProdData, ProdIndex)
# Покупатели
BuyIndex = ['B1','B2','B3','B4']
BuyData = {'Scenario1': [78,121,94,85], 'Scenario2': [117,670,193,279]}
Buyers = pd.DataFrame(BuyData, BuyIndex)
#выбор сценария
Scenario = Buyers.columns[0] # 0 - Scenario1
                             # 1 - Scenario2
print(Scenario)
# Тарифы на железнодорожные перевозки
RailData = {'P1':[14,23,21,42], 'P2':[26,10,19,36], 'P3':[15,38,18,15]}
RailFares = pd.DataFrame(RailData, BuyIndex)
totCost = RailFares + Producers['ProdCost']
Определим минимальные накладные расходы, при поставке продуктов от производителей к покупателям, которые включают себестоимость продукта и стоимость железнодорожных перевозок. Эти накладные расходы будут индивидуальными для каждой пары производитель – покупатель, как раз он и будут определять конкурентное приимущество одних производителей над другими.

minCostProd = np.zeros((NProds, NBuyers)).astype(int)
for j in range(NBuyers):
    min_idx = np.argmin(totCost.values[j,:])
    minCostProd[min_idx, j] = totCost.values[j,min_idx]
minCostProd = pd.DataFrame(data=minCostProd, index=totCost.columns, columns=totCost.index)
# Тарифы на жд перевозки от i-го производителя j-му покупателю + себестоимость производства i-го производителя
k = np.zeros((NProds, NBuyers)).astype(int)
i=0
j=0
for prod, pcost in zip(RailFares, Producers['ProdCost']): # перебор по Producers
    j=0
    for rfares in RailFares[prod]:
        k[i,j] = rfares + pcost
        j+=1
    i+=1
Аналогичным образом определим минимальные накладные расходы, при поставке продуктов от производителей в морской порт для продажи продуктов зарубежным покупателям.

# Тарифы на жд перевозки в порт + себестоимость производства i-го производителя 
z = np.empty(NProds).astype(int)
i=0
for SupplyPort, ProdCost in zip(Producers['SupplyPort'], Producers['ProdCost']):
    z[i] = SupplyPort + ProdCost
    i+=1
Теперь из условия о минимально выгодной цене для производителей при поставке продуктов покупателям, которое мы сформулировали в пятом ограничении, получим цены для каждой пары производитель – покупатель.

#Наименее выгодная цена для производителей при поставке покупателям
ProdBestPrices = np.zeros((NProds, NBuyers)).astype(int)
for j in range(NBuyers):
    i=0
    for portPrice, supplyPort, supplyProd in zip(Producers['PortPrice'], Producers['SupplyPort'], k[:,j]):
#       print(portPrice, supplyPort, supplyProd)
        ProdBestPrices[i,j] = portPrice-supplyPort+1+supplyProd
        i+=1
На основании полученных цен и с учётом условия покупки покупателем продукта по минимальной цене, предложенной производителем, построим матрицу спроса и предложения для всех пар производитель – покупатель. Нули в этой матрице будут определять отсутствие поставок в паре производитель — покупатель, единицы – наличие поставок.

#Матрица спроса покупателей
h = np.zeros((NProds, NBuyers)).astype(int)
for j in range(NBuyers):
    min_idxs = np.argmin(ProdBestPrices[:,j])
    h[min_idxs, j] = 1
Далее импортируем из библиотеки docplex модель Model, являющуюся вычислительным ядром нашей оптимизационной задачи.

2. Модель

from docplex.mp.model import Model
mdl = dpx.model.Model("ChemProd")
Зададим искомые переменные задачи и сформулированные выше ограничения.

# матрица решений, показывающая количество тонн продукта поставленное от i-го производителя j-му покупателю
# столбец-производитель; строка-покупатель
x = mdl.integer_var_matrix(NProds, NBuyers, name=lambda ij: "ProdVol_to_Buyer%d_%d" %(ij[0], ij[1]))
# матрица решений, показывающая цену за тонну продукта i-го производителя j-му покупателю
# столбец-производитель; строка-покупатель
y = mdl.integer_var_matrix(NProds, NBuyers, name=lambda ij: "ProdPrice_to_Buyer%d_%d" %(ij[0], ij[1]))
# вектор решений - количество продукта перевнзённое в порт
p = mdl.integer_var_list(NProds, name='ProdVol_to_port')
3. Ограничения модели

1. Ограничения по количеству тонн производимого продукта для производителей

# 1. Ограничения по количеству тонн производимого продукта для производителей
for i, possib, cts_name in zip(range(NProds), Producers['Possibilities'], Producers['Possibilities']. index):
    mdl.add_constraint(mdl.sum(x[i,j] for j in range(NBuyers)) + p[i] <= possib, ctname='Possib'+cts_name)
2. Ограничения по потребностям покупателей

# 2. Ограничения по потребностям покупателей
for j, req, buyer in zip(range(NBuyers), Buyers[Scenario], Buyers[Scenario].index):
    mdl.add_constraint(mdl.sum(x[i,j] for i in range(NProds)) == req,  ctname=buyer+'Need')
3. Ограничения по цене продукта

# 3. Ограничения по цене продукта
for i in range(NProds):
    for j in range(NBuyers):
        #mdl.add_constraints( [y[i,j] <= BuyersMaxPrice, y[i,j] >= 0], ['BuyersMaxPrice', 'BuyersMinPrice'])
        mdl.add_constraint( y[i,j] == ProdBestPrices[i,j], 'ProdBestPrices')
Для данной задачи четвёртое ограничение о неотрицательности переменных выполняется исходя из первых 3х ограничений.

Теперь, когда ограничения нашей модели созданы, сформируем нашу целевую функцию и зададим её максимизацию.

#Доставка покупателям
SalesBuyers = mdl. sum( (y[i,j]-k[i,j] )*x[i,j]*h[i,j] for i in range(NProds) for j in range(NBuyers) ) 
#Доставка в порт
SalesPort = mdl.sum( (d-z[i])*p[i] for i in range(NProds) )
#Целевая функция
mdl.maximize(SalesBuyers + SalesPort)
4. Решение модели

%%time
assert mdl.solve(), "!!! Solve of the model fails"
prodsVol = np.zeros((NProds, NBuyers)).astype(int)
prodsPrice = np.zeros((NProds, NBuyers)).astype(int)
VolPrice = np.zeros((NProds, NBuyers)).astype(int)
VolPricePort = np.zeros((NProds, 1)).astype(int)
for i in range(NProds):
    #VolPricePort[i] = int((d - z[i])*p[i].solution_value)
    VolPricePort[i] = int(p[i].solution_value*d)
    for j in range(NBuyers):
        prodsVol[i,j] = x[i,j].solution_value
        prodsPrice[i,j] = y[i,j].solution_value
        #VolPrice[i,j] = (y[i,j].solution_value - k[i,j])*x[i,j].solution_value
        VolPrice[i,j] = y[i,j].solution_value*x[i,j].solution_value
#Количество тонн продукта от i-го производителя j-му покупателю
VolData = dict(zip(ProdIndex, prodsVol))
DecisionVol = pd. DataFrame(VolData, BuyIndex)
#Количество тонн продукта от i-го производителя в порт
VolPricePortData = dict(zip(ProdIndex, (VolPricePort)))
DecisionVolPort = pd.DataFrame(VolPricePortData, index=['Pt'])
#Цена за тонну продукта i-го производителя j-му покупателю
PriceData = dict(zip(ProdIndex, prodsPrice))
DecisionPrice = pd.DataFrame(PriceData, BuyIndex)
#Объём продаж i-го производителя j-му покупателю за вычетом затрат на доставку товара
VolPriceData = dict(zip(ProdIndex, VolPrice))
DecisionVolPrice = pd.DataFrame(VolPriceData, BuyIndex)
В качестве решения задачи приведу результирующую таблицу, отображающую кто, у кого и по каким ценам будет покупать продукт после того, как рынок придет в состояние равновесия.

Как я уже писал выше, для наглядности полученного решения представим его в виде графа, отображающего сложившуюся ситуацию на рынке. Для этого используем библиотеку networkx и следующий скрипт.

G = nx.Graph()
#Морской порт
for p in ProdIndex:
    G.add_edge(p, 'Pt', w=DecisionVolPort[p]['Pt'])
    
#Продавцы / покупатели
for b in BuyIndex:
    for p in ProdIndex:
        G. add_edge(p, b, w=DecisionVolPrice[p][b])
nodeKeys = []
nodePos = []
num_buy = 0
num_prod = 0
for p in ProdIndex:
        x_prod = int(-NProds/2)+num_prod
        num_prod+=1
        nodeKeys.append(p)
        nodeKeys.append('Pt')
        
        nodePos.append([x_prod,1])
        nodePos.append([0,2])
        
for b in BuyIndex:
    num_prod = 0
    x_buy = int(-NBuyers/2)+num_buy
    num_buy+=1
    for p in ProdIndex:
        x_prod = int(-NProds/2)+num_prod
        num_prod+=1
        nodeKeys.append(p)
        nodeKeys.append(b)
        
        nodePos.append([x_prod,1])
        nodePos.append([x_buy+0.5,0])       
        
pos = dict(zip(nodeKeys, nodePos))        
    
elarge = [(u, v) for (u, v, d) in G.edges(data=True) if d['w'] > 0]
esmall = [(u, v) for (u, v, d) in G.edges(data=True) if d['w'] == 0]
plt.figure(figsize=(16, 8))
plt.subplot(1,2,1)
nx.draw_networkx_nodes(G, pos=pos, node_size=7000/((NProds+NBuyers)/2))
nx.draw_networkx_edges(G, pos=pos, edgelist=elarge, width=2, edge_color='black')
nx. draw_networkx_edges(G, pos=pos, edgelist=esmall, width=2, alpha=0.3, edge_color='gray',)
edge_values = []
for (u, v, d) in G.edges(data=True):
    if d['w']>0:
        edge_values.append(int(d['w']))
        
labels = dict(zip(elarge, edge_values))
nx.draw_networkx_edge_labels(G, pos=pos, edge_labels=labels, font_size=12, font_color='black')
# labels
nx.draw_networkx_labels(G, pos=pos, font_size=70/((NProds+NBuyers)/2), font_color='white')
plt.axis('off')
plt.subplot(1,2,2)
plt.grid(True)
sns.barplot(x=DecisionVolPrice.columns,
            y=sumBuyPort,
            palette="deep").set_title('Суммарный объём продаж')
plt.show()
После выполнения скрипта на экране сформируется граф нашего моделируемого виртуального рынка согласно результатам решения задачи. На рёбрах графа отображено произведение количества поставляемых продуктов на их цену, а в вершинах графа расположены участники рынка: Pt – морской порт; P1-P3 – производители; B1-B4 – покупатели.

Заключение

В заключении хотелось бы сказать, что данный материал статьи, как мне кажется, будет полезен для тех, кто хочет на практике разобраться с решением оптимизационных задач и, в частности, с решением транспортной задачи. В своей статье я собрал и обобщил минимальный теоретический материал, необходимый для общего понимания подхода в решении подобных задач, а также привёл пример такой задачи и минимальный набор инструментов для её решения. Описанный подход позволяет получить масштабируемое решение с возможностью варьирования исходных условий задачи.

Ссылки на источники

  1. Решение закрытой транспортной задачи с дополнительными условиями средствами Python;
  2. Решение задач линейного программирования с использованием Python;
  3. Дыбская В.В., Зайцев Е.И., Сергеев В.И., Стерлигова А.Н. MBA Логистика. – М.: Эксмо, 2009;
  4. Avinash K. Dixit, Barry J. Nalebuff «The Art of Strategy: A Game Theorist’s Guide to Success in Business and Life».

Модель спроса и предложения неверна — ProfSpeak

Все мы слышали, как экономисты и аналитики произносят выражение: «Все дело в спросе и предложении!» при попытке объяснить какое-либо рыночное явление. Возможно, вы прошли вводный курс по экономике. Вы пришли к пониманию того, как кривая предложения и кривая спроса пересекаются, чтобы получить равновесную цену и количество. Как мы знаем, эти точки равновесия меняются по мере смещения кривых спроса и предложения.

Я здесь, чтобы сказать вам, что вся эта модель неверна.

Подождите, что?

Вся проблема сосредоточена вокруг концепции кривой предложения. Давайте сделаем шаг назад, чтобы изучить, что происходит. Кривая предложения отвечает на вопрос: какое количество товара при данной рыночной цене фирма поставит на рынок?

На первый взгляд, в таком вопросе нет ничего плохого. Предположим, что мы пришли к местному предприятию и спросили их, какой объем продукции они хотели бы производить. Предположим, что возможные цены были, скажем, 2, 5 и 8 долларов. Предположим, они отвечают 5 единиц, 9ед. и 12 ед. соответственно. Вы можете нанести эти точки данных на график, подобный следующему:

Теперь, если мы гипотетически зададим им тот же вопрос обо всех возможных ценах и запишем их ответы, вы получите то, что мы называем «кривой предложения». Эта линия позволяет нам узнать, сколько будет поставлено по любой цене, о которой мы могли бы спросить.

Как только мы это сделали, мы можем добавить нашу кривую спроса. Это покажет нам, сколько потребители желают купить по любой данной цене. Затем у нас есть наша знаменитая модель спроса и предложения. Равновесная цена и количество (5 и 9 долл.единиц ради этого примера) определяются там, где пересекаются две кривые. Это выглядит примерно так:

Есть ли проблема с этим?

Итак, в чем проблема? Что ж, в одном особом случае, который мы называем случаем совершенной конкуренции , проблем нет. В условиях совершенной конкуренции каждая фирма считается очень маленькой. Кроме того, независимо от того, сколько он решит производить, цена, предлагаемая потребителями, не изменится.

Например, предположим, что я мелкий фермер, выращивающий кукурузу в Канзасе. Предположим, что в настоящее время на мировом рынке производится 100 миллионов единиц кукурузы, за которую потребители готовы предложить 2 доллара за единицу. Затем предположим, что я решил, что для меня оптимально произвести 1000 единиц кукурузы по этой цене в 2 доллара. Моя дополнительная тысяча единиц вряд ли повлияет на рыночный спрос таким образом, чтобы привести к изменению цены. Это отсутствие «рыночной силы» позволяет нам выделить эту конкретную рыночную цену и точно записать, что я буду производить.

Это сложно


Однако в случае совершенной конкуренции все становится еще сложнее, и оказывается, что вышеприведенное упражнение невозможно выполнить. Чтобы понять почему, рассмотрим двух крупных производителей нефти (фирмы 1 и 2 соответственно). Их решения о выпуске оказывают достаточно большое влияние на мировой рынок, чтобы повлиять на рыночную цену.

Для конкретизации предположим, что цена, которую потребители готовы платить за определенный объем продукции. Это не что иное, как кривая спроса, и она определяется уравнением 9.0003

P = 17-(Q 1 + Q 2 )

В этом уравнении P — цена, а Q 1 9003 9 и Q 2 сколько продукции фирмы 1 и 2 производят соответственно.

Давайте поиграем в цифры

Теперь давайте спросим каждую фирму, сколько они хотели бы производить, если бы рыночная цена была равна 5 долларам. Предположим, что фирма 1 отвечает выпуском 9 единиц продукции, как в нашем предыдущем примере. Предположим, что фирма 2 заявляет, что она хотела бы производить 8 единиц продукции. Но после изучения решения фирмы 2 о выпуске, которое, как мы теперь предполагаем, может повлиять на рыночную цену, решение фирмы 1 о максимизации прибыли может измениться. Следовательно, фирма 1 может решить изменить свое решение о выпуске с 9единиц до, скажем, 4 единиц.

Но это снова изменяет рыночную цену, а вместе с ней и решение фирмы 2 о максимизации прибыли в производстве. Таким образом, они могут захотеть изменить свой уровень производства с 8 единиц на что-то другое. В конце концов, эта обратная конкуренция в конечном итоге приведет к некоторому равновесному уровню производства для обеих фирм. Например, это может быть Q 1 = 10 и Q 2 = 5, что мы называем «равновесием Нэша». Но когда мы снова включим эти уровни выпуска в функцию спроса, результирующая рыночная цена составит

P = 17-(Q 1 + Q 2 ) = 17 – (10+5) = 2

Таким образом, рыночная цена уже не 5, а 2 доллара! Это сразу же приводит к несоответствию, поскольку эти уровни выпуска больше не отвечают на первоначальный вопрос о том, что мы ожидаем произвести при рыночной цене в 5 долларов.

Помогите! Я в замешательстве!

Что здесь происходит? Проще говоря, когда фирмы обладают рыночной властью или способностью влиять на цену своими решениями о выпуске, любой ответ на вопрос «Сколько бы вы произвели, если бы цена была равна X?» может привести к толчкам вперед и назад к равновесию Нэша. Это приводит к рыночной цене, отличной от X.

Формально мы говорим, что цены определяются эндогенно или определяются как результат решений фирм по максимизации прибыли, а не до . И если вы не можете задать этот вопрос «до», вы не сможете получить кривую предложения и, следовательно, не сможете провести традиционный анализ спроса и предложения.

Что нам делать?

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

P = K – Q

. В этом уравнении K – некоторый параметр спроса, а Q = Q 1 + Q 2 +…+ Q N – это общий рыночный выпуск N фирм. В приведенном выше примере мы установили K=17 и получили N=2 фирм. Но мы можем абстрагироваться от этого и позволить этим числам быть какими угодно. Наконец, предположим, что фирмы имеют предельные издержки производства, которые мы обозначим буквой 9.0034 c (что, как мы предполагаем, меньше K , чтобы облегчить жизнь). После небольшого расчета и алгебры для решения равновесия Нэша мы можем определить, что рыночная цена и количество будут даны следующим образом: если вы присмотритесь, то заметите, что они полностью оправдывают нашу старую, знакомую и технически неправильную модель спроса и предложения. Давайте разберемся, почему:

Изменение 1: Увеличение спроса

Согласно нашей истории спроса и предложения из Econ 101, увеличение спроса должно привести к увеличению равновесного выпуска и цены. Это обычно представляется графически как:

Но, учитывая наше предыдущее обсуждение, должны ли мы доверять этой интуиции? Да! Получается, что как P * , так и Q * из уравнений 1 и 2 возрастают по мере увеличения параметра спроса K . Следовательно, модель спроса и предложения дает те же качественный прогноз равновесия, как и наши уравнения равновесия. Это верно, хотя первое технически неверно.

Изменение 2: Увеличение издержек

Теперь предположим, что производственные издержки фирм увеличиваются. В нашей истории спроса и предложения это приведет к уменьшению или сдвигу кривой предложения назад. Графически это можно представить как

Здесь мы видим, что наша традиционная модель спроса и предложения предсказывает более высокую равновесную цену. Точно так же он предсказывает более низкое равновесное количество после увеличения производственных затрат. Еще раз внимательное изучение уравнений 1 и 2 показывает, что увеличение c приведет к увеличению P * и уменьшению Q * ! Это слишком хорошо, чтобы быть правдой. Сделаем еще один.

Изменение 3: увеличение количества фирм

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

Это говорит о том, что по мере увеличения числа фирм мы должны ожидать снижения рыночной цены и увеличения рыночного выпуска в равновесии. Ну, что вы знаете? По мере увеличения N член N/(N+1 ) становится больше, и внимательное рассмотрение покажет, что это приведет к уменьшению P * и Q * ! Опять же, модель спроса и предложения дает те же качественные прогнозы, что и то, что мы знаем как правильный результат равновесия.

В заключение…

В конце концов, что мы должны сделать со всем этим? Мы начали с тревожного факта, что, если мы не имеем дело с совершенно конкурентным рынком, мы не можем понять концепцию кривой предложения. Это делает наш традиционный анализ спроса и предложения технически неадекватным. Однако, несмотря на это, это остается чрезвычайно полезным «эмпирическим правилом». Это согласуется со всеми качественными предсказаниями, которые мы получаем из более точных расчетов. Таким образом, мы прекрасно объясняем экономический феномен как если бы кривая предложения действительно существовала.

И это приятно знать, потому что, в конце концов, это просто спрос и предложение.

Доктор Эрик Хоффманн
Адъюнкт и профессор экономики Пикенса

ECON 262 — Практические проблемы

ECON 262 — Практические проблемы — Спрос/предложение

Внеклассная практика Проблемы – спрос и предложение Модель  

 

1. Нарисуйте ситуацию спроса и предложения, когда есть дефицит (и определите, что дефицит есть). Четко показать где дефицит на графике.

 

 

 

 

 

 

 

 

 

 

2. Нарисуйте ситуацию спроса и предложения, когда существует излишек (и определите, что излишек есть). Четко показать где избыток находится на графике.

 

 

 

 

 

 

 

 

 

3. Предположим, что рыночная клиринговая цена составляет 20 долларов США, а количество клиринга рынка составляет 500 за стейк-ужин. Но у тебя нет эту информацию (вы являетесь поставщиком стейков) и только что открыли ваш стейк-хаус. Вы решаете установить цену на ужин со стейками в 15 долларов. Вы замечаете, что, делая это, вы могли бы продать 650 обедов со стейками, но хотят и могут продать только 400. Нарисуйте эту ситуацию на графике. Поместите все числа, данные на вашем графике. Что будет на этом рынке? Будет дефицит или избыток? Покажите это на своем графике. Затем объясните, что произойдет на этом рынке (предположим, что ценовой контроль отсутствует).

Графически и прописью (стрелки в порядке) покажите, что будет с рыночной клиринговой ценой (P*), рыночный клиринг количество (Q*) и распределение ресурсов (RA) в каждом случае. Обязательно правильно пометьте свои оси и сделайте ясно, в какую сторону вы сдвигаете свои графики. Предположим при прочих равных условиях .

 

1. Предположим, что книги и журналы являются заменителями. Бумага используется для изготовления книг. Что будет на книжном рынке, если цены на журналы вырастут и на в то же время цена на бумагу падает?

 

 

 

 

 

 

 

Р*

В*

РА

 

2.  Что произойдет на рынке лимонада, если на рынке появится новая технология? производство лимонада и одновременно снижается цена на фруктовый пунш (предположим, что фруктовый пунш и лимонад являются заменителями)?

 

 

 

 

 

 

 

Р*

В*

РА

 

3. Что произойдет на рынке кошек, если доходы населения, покупающего кошек увеличивается, а цена на собак снижается? Предполагать собаки заменяют кошек, а кошки — нормальный товар.

 

 

 

 

 

 

 

Р*

В*

РА

 

 

 

4. Что произойдет на рынке клюшек для гольфа, если цена мячей для гольфа увеличивается и в то же время цена стали снижается? Предположим, гольф мячи являются дополнением к клюшкам для гольфа, а сталь используется для изготовления клюшек для гольфа.

 

 

 

 

 

 

 

 

Р*

В*

РА

5. Что произойдет на рынке стереосистем, если цена на бумбоксы вырастет и в то же время цена радио растет? Предположим, что оба бум-бокса и радио заменяет стерео.

 

 

 

 

 

 

 

 

Р*

В*

РА

 

6. Предполагайте, что спам — это второстепенный товар. Что будет на рынке спама если доходы людей, покупающих спам, упадут?

 

 

 

 

 

 

 

 

Р*

В*

РА

 

 

 

 

 

7. Что произойдет на рынке говядины, если цены на курятину вырастут и на в то же время цена на коровьи шкуры снижается? Предположим, говядина и курица являются заменителями для потребителей, а говядина и коровьи шкуры дополняют друг друга. производство.

 

 

 

 

 

 

 

 

Р*

В*

РА

8. Что произойдет на рынке джинсовых рубашек, когда цена на джинсы (брюки) увеличивается? Предположим, что джинсовые рубашки и джинсы (брюки) являются заменителями в производство.

 

 

 

 

 

 

 

 

Р*

В*

РА

 

9. Что произойдет на рынке крупного рогатого скота, если правительство субсидирует производство говядины?

 

 

 

 

 

 

 

 

Р*

В*

РА

 

 

 

 

 

 

 

10. Что произойдет на рынке здравоохранения, если правительство (налогоплательщики) субсидирует спрос на здравоохранение (путем субсидирования медицинского страхования) и в то же время Правительство ограничивает прибыльность страховых компаний?

 

 

 

 

 

 

 

Р*

В*

РА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Внеклассная практика Проблемы – спрос и предложение Модель  

ОТВЕТЫ — Эти ответы только объяснения того, как вы должны были нарисовать свои графики.

Вам нужно нарисовать графики, чтобы получить полный кредит.

 

1. Нарисуйте ситуацию спроса и предложения, когда есть дефицит (и определите, что дефицит есть). Четко показать где дефицит на графике.

 

ОТВЕТ: Цена будет ниже рыночная клиринговая цена. Объем спроса превышает объем предложения = нехватка.

 

2. Нарисуйте ситуацию спроса и предложения, когда существует излишек (и определите, что излишек есть). Четко показать где избыток находится на графике.

 

ОТВЕТ: Цена будет выше рыночная клиринговая цена. Объем предложения превышает объем спроса = излишек.

 

3. Предположим, что рыночная клиринговая цена составляет 20 долларов США, а количество клиринга рынка составляет 500 за стейк-ужин. Но у тебя нет эту информацию (вы являетесь поставщиком стейков) и только что открыли ваш стейк-хаус. Вы решаете установить цену на ужин со стейками в 15 долларов. Вы замечаете, что, делая это, вы могли бы продать 650 обедов со стейками, но хотят и могут продать только 400. Нарисуйте эту ситуацию на графике. Поместите все числа, данные на вашем графике. Что будет на этом рынке? Будет дефицит или избыток? Покажите это на своем графике. Затем объясните, что произойдет на этом рынке (предположим, что ценовой контроль отсутствует).

ОТВЕТ: Цена 15 долл. США ниже рыночная клиринговая цена. Объем спроса превышает объем предложения = нехватка. Дефицит — это сигнал. Затраты на запасы, которых нет в наличии очень высоки. Поэтому поставщики будут повышать цены. Этот приведет к увеличению количества предложения и уменьшению количества (движения по кривым) до тех пор, пока не будет достигнут удовлетворительный уровень запасов.

Наглядно и словесно покажите, что будет с рыночной клиринговой ценой (P*), рыночный клиринг количество (Q*) и распределение ресурсов в каждом случае. Обязательно правильно пометьте свои оси и сделайте ясно, в какую сторону вы сдвигаете свои графики. Предположим при прочих равных условиях .

 

1. Предположим, что книги и журналы являются заменителями. Бумага используется для изготовления книг. Что будет на книжном рынке, если цены на журналы вырастут и на в то же время цена на бумагу падает?

 

ОТВЕТ: Спрос на книги увеличится, предложение книг уменьшится. увеличивать. Q* будет увеличиваться, P* неизвестно. Ресурсы будут перемещены.

 

2.  Что произойдет на рынке лимонада, если на рынке появится новая технология? производство лимонада и одновременно снижается цена на фруктовый пунш (предположим, что фруктовый пунш и лимонад являются заменителями)?

 

ОТВЕТ: Предложение лимонада увеличится, спрос на лимонад снизится. P* уменьшится, Q* неизвестно. Распределение ресурсов неизвестно.

 

3. Что произойдет на рынке кошек, если доходы населения, покупающего кошек увеличивается, а цена на собак снижается? Предполагать собаки заменяют кошек, а кошки — нормальный товар.

 

ОТВЕТ: Спрос на кошек будет расти, спрос на кошек снижаться. И P*, и Q* неизвестны. Распределение ресурсов неизвестный.

 

4. Что произойдет на рынке клюшек для гольфа, если цена мячей для гольфа увеличивается и в то же время цена стали снижается? Предположим, гольф мячи являются дополнением к клюшкам для гольфа, а сталь используется для изготовления клюшек для гольфа.

 

ОТВЕТ: Спрос на клюшки для гольфа снизится, предложение клюшек для гольфа будет увеличиваться. P* уменьшится, Q* неизвестно. Распределение ресурсов неизвестно.

 

5. Что произойдет на рынке стереосистем, если цена на бумбоксы вырастет и в то же время цена радио растет? Предположим, что оба бум-бокса и радио заменяет стерео.

 

ОТВЕТ: Спрос на стереосистемы увеличится в ДВА РАЗА. Оба P* и Q* будет увеличиваться. Ресурсы будут перемещены.

 

6. Предполагайте, что спам — это второстепенный товар. Что будет на рынке спама если доходы людей, покупающих спам, упадут?

 

ОТВЕТ: Спрос на спам будет расти. Оба P* и Q* увеличатся. Ресурсы будут перемещены.

 

7. Что произойдет на рынке говядины, если цены на курятину вырастут и на в то же время цена на коровьи шкуры снижается? Предположим, говядина и курица являются заменителями для потребителей, а говядина и коровьи шкуры дополняют друг друга. производство.

 

ОТВЕТ: Спрос на говядину увеличится, предложение говядины сократится. вниз. P* будет увеличиваться, Q* неизвестно. Распределение ресурсов неизвестный.

 

8. Что произойдет на рынке джинсовых рубашек, когда цена на джинсы (брюки) увеличивается? Предположим, что джинсовые рубашки и джинсы (брюки) являются заменителями в производство.

 

ОТВЕТ: Предоставление джинсовые рубашки подешевеют. P* увеличится, Q* уменьшится. Ресурсы уйдут.

 

9. Что произойдет на рынке крупного рогатого скота, если правительство субсидирует производство говядины?

 

ОТВЕТ: Предоставление крупного рогатого скота будет больше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *