ОПТИМИЗАЦИЯ ИСПОЛЬЗОВАНИЯ ВАЖНЕЙШИХ ПРИРОДНЫХ РЕСУРСОВ. Основы оптимизации ресурсов
ГлаваIi. Математические модели оптимизации ресурсов и принятия решений.
2.1. Общий случай математической постановки задачи оптимизации.
Задача оптимизации в общем случае, включающая три компоненты ( целевую функцию F, ограничение gi
и граничные условия), имеет следующую математическую постановку.
F=f(x1,x2,...,xn)→max (min)
g1(x1,x2,...,xn) {≤ , =, ≥}d1 ;
........................................ или F=f(xj ) →max (min)
g1(x1,x2,...,xn) {≤ , =, ≥}di ; gi (xj) {≤,= , ≥}di
aj ≤ xj ≤ bj ; i = 1,m, j=1,n
........................................
gm(x1,x2,...,xn) {≤ , =, ≥}dm ;
aj ≤ xj ≤ bj ; i= 1,m, j = 1,n,
где aj и bj – нижнее и верхнее предельно допустимые значения xj
Граничные условия показывают предельно допустимые значения искомых переменных, и в общем случае они могут быть двухсторонними типа aj ≤ xj ≤ bj .
Ограничения обычно выражают определенные зависимости между переменными величинами, которые по своей сути могут быть теоретическими (формульными) и статистическими. Теоретические справедливы при любых условиях. На практике же приходиться сталкиваться с необходимостью сбора и обработки статистических данных. Например, при желании оптимизировать использование общественного транспорта города в течении суток. При этом надо знать как распределен пассажиропоток во времени.
Значения переменных, удовлетворяющие заданным граничным условиям и ограничениям, называют допустимым решением задачи.
Если в задачу включаются противоречивые по смыслу требования, выполнить которые невозможно то задачу считают несовместной. Правильно же составленная задача имеет набор допустимых решений. Чтобы из данного набора допустимых решений ЛПР могло выбрать одно оптимальное (от латинского optimus – наилучший ), необходимо договориться как и по какому признаку его найти. ЛПР должно абсолютно точно представлять, в чем заключается оптимальность принимаемого решения , т.е по какому критерию принимаемое решение должно быть оптимально.
Критерий часто называют целевой функцией, функцией цели, а в математических работах – функционалом. Если при принятии решения максимизировать какое – то свойство (прибыль, производительность и т.п.), то в результате решения задачи критерий будет иметь наибольшее значение из всех допустимых решений. Если же требуется минимизировать (стоимость, расход материала, время простоя оборудования ), то в результате решения критерий будет иметь наименьшее значение из всех допустимых.
2.2. Методы оптимизации и распределения ресурсов на основе задач линейного программирования.
Подобные методы широко применимы в производстве, транспорте, организации процессов, в обучении, руководстве персоналом и др. К числу наиболее известных задач, решаемых этим методом, относятся задача о назначениях, транспортная задача и другие.
Задача о назначениях и распределении работ является частным случаем транспортной задачи,
В которой приняты следующие допущения : число поставщиков m равно числу потребителей n; запасы каждого поставщика aj= 1 ; заявки каждого потребителя bj= 1 ; каждый поставщик может поставлять грузы только одному потребителю; каждый потребитель может получать груз только от одного поставщика.
Если сумма запасов A у поставщика равняется сумме всех заявок B потребителей, то такую транспортную задачу называют сбалансированной ; если A ≠ B , то задача является несбалансированной, и ее математическая модель может иметь вид:
mn
F= ∑ ∑ cijxij→ min
i=1 j=1
n ____
∑ xij ≤ aj ; j = 1,m;
i=1
m ____
∑ xij ≥ bj ; ; i= 1,n
j=1
xij≥0;
Знак равенства в ограничениях для запасов ajозначает, что объем груза, вывозимый от любого
i-го поставщика по заявкам всех потребителей, не может превышать имеющегося у него запаса, при этом часть запаса груза может оставаться не вывезенной . Аналогично знак неравенства в ограничениях для заявок bj означает, что груз, получаемый j– м поставщиком, должен быть не меньше заявки, но превышение заявки при этом допускается.
Модель сбалансированной задачи является частным случаем модели несбалансированной задачи.
studfiles.net
ОПТИМИЗАЦИЯ ИСПОЛЬЗОВАНИЯ ВАЖНЕЙШИХ ПРИРОДНЫХ РЕСУРСОВ
Введение в специальность
Остановить или замедлить научно-технический прогресс и вовлечение в эксплуатацию новых природных ресурсов невозможно. Однако при эксплуатации любых ресурсов всегда возможны и необходимы такие решения (организационные, технические, хозяйственные), которые обеспечивают, с одной стороны, их не - истощительность, а с другой — максимально щадящий природу режим их использования.
Рассмотрим последовательно некоторые конкретные методы рационального использования наиболее важных природных ресурсов.
Водные ресурсы. Как природный ресурс вода исчерпаема в качественном отношении, поскольку для бытовых нужд населения необходима вода с положительными органолептическими свойствами (цвет, привкус, запах) и без токсичных примесей, а для промышленности — определенного физико-химического состава (в частности, обессоленная, в ряде случаев — умягченная). Региональное размещение воды на Земле крайне неравномерно. Из общего годового стока СССР (4340 км ) 60 % воды уходит в бассейн Северного Ледовитого океана, 22 % — в бассейн Тихого океана, 8 % — в Атлантику и лишь 10 % обводняет более теплые районы, поступая в Арало-Каспийский бассейн. На долю наиболее крупных рек, расположенных в малообжитых северных и восточных районах, приходится 86 % стока. Если в лесной зоне страны на 1 км2 территории приходится 200—300 пог. м рек, то в Средней Азии — до 10 пог. м. В результате республики Средней Азии, где сосредоточено всего 2 % воды, испытывают в ней особо острую нужду.
Вода используется также в качестве решающего фактора повышения продуктивности сельского хозяйства, теплосъемника, растворителя, среды химических процессов практически во всех отраслях промышленности, энергетического ресурса и для удовлетворения культурно-бытовых и рекреационных потребностей населения. Кроме того, водные объекты обеспечивают нужды транспорта. С экологических позиций вода имеет значение как среда обитания многих живых организмов и как среда процессов, связанных с поддержанием газового баланса на земном шаре.
Применение воды в процессе деятельности человека делится на водопользование и водопотребление.
Водопользование заключается в использовании воды непосредственно в местах ее локализации. Наиболее крупными водопользователями являются гидроэнергетика, рыбное хозяйство, транспорт. При водопользовании вода не забирается из водоема и водотока, поэтому ею могут одновременно пользоваться несколько разных отраслей.
Водопотребление связано с извлечением воды из мест ее локализации с последующим перемещением. В отличие от водопользования водопотребление характеризуется безвозвратным расходом части воды в результате ее связывания, а также испарения и фильтрации.
Главным водопотребителем является сельское хозяйство. Для выращивания высоких урожаев и повышения продуктивности экосистем необходима, однако, не только вода, но и определенная сумма положительных температур. Наиболее развитые сельскохозяйственные районы СССР — житницы нашей страны — расположены в средней и южной частях, а распределение годового стока и водообеспеченность имеют противоположную тенденцию. Так, около 65 % всей возделываемой территории приходится на зону с недостаточным количеством осадков.
Преодоление дефицита воды в сельском хозяйстве издавна вынуждало человечество принимать соответствующие меры. Искусственное орошение резко повышает продуктивность сельскохозяйственных земель, дает громадный экономический эффект.
Орошение и обводнение земель связано с большими безвозвратными потерями воды. Например, в 1975 г. на орошение было израсходовано 168 км3 воды, из которых 144 км3 считаются безвозвратно потерянными.
В засушливых районах страны создано свыше 44 тыс. прудов местного значения, предназначенных для удовлетворения нужд хозяйства. Вполне понятно, что они также накапливают немалое количество воды.
Крупным водопользователем является гидроэнергетика. Получение электроэнергии так или иначе связано с зарегулированием рек и строительством водохранилищ, каналов, шлюзовых систем. Большинство крупных водохранилищ европейской части СССР не только обеспечивает хозяйства энергией, но слу
Жат для ирригации (орошения) судоходства, лесосплава, удовлетворения бытовых нужд, для защиты от наводнений.
Накопленные в водохранилищах запасы энергии оцениваются в 775 млрд. кВт-ч. В нашей стране создано более 1000 водохранилищ, из которых 20 имеют площадь водного зеркала свыше 1000 км2. Наиболее крупное — Куйбышевское (6,5 тыс. км2), наиболее водоемкое — Братское (179 км3). Через турбины Волгоградской ГЭС проходит 14 тыс. м3/с воды.
Мощным водопотребителем является промышленность. Известно, например, что для выплавки 1 т чугуна требуется 300 м3 воды, для производства 1 т целлюлозы — 250 м3.
Воды, возвращаемые предприятиями после использования, качественно изменены. Они содержат множество химических веществ (кислоты, фенолы, щелочи и т. д.), а также механических примесей. Исторически сложилось так, что промышленность использует естественные водоемы и водотоки для разбавления отходов. Нередко между местом (створом) их сброса и местом, где концентрация в воде снизится до безопасных пределов (ПДК), лежат десятки километров.
Есть расчеты, показывающие, что для разбавления до безопасных концентраций всех жидких промышленных отходов уже сейчас требуется около трети годового речного стока земного шара.
Значительные количества воды использует бытовое хозяйство. Города, снабженные системами водопровода и канализации, забирают миллионы кубических метров воды ежесуточно. С 1965 по 1975 гг. потребление воды на эти нужды в СССР удвоилось и составило свыше 16 км3/год, а к 2000 году ожидается дальнейшее удвоение. Житель крупного города СССР расходует в сутки на личные нужды 300—500 л воды, а средний расход по стране составляет 170 л на человека.
Таким образом, охрана качества и рациональное использование водных ресурсов требуют решения комплекса инженерно - технических и организационных задач, в числе которых можно назвать следующие:
1. Сокращение водопотребления промышленностью, сельским и коммунально-бытовым хозяйством.
Этот путь заключается в техническом совершенствовании производства, а следовательно, связан с научно-техническим прогрессом. В первую очередь на сокращенный режим следует переводить наиболее водоемкие отрасли. Так, на добычу 1 т нефти затрачивается при разных условиях от 0,4 до 24 м3 воды. Понятно, что здесь имеется большой резерв для экономии данного ресурса.
Разрабатываются безводные способы формования бумаги и получения других продуктов целлюлозно-бумажного производства.
В коммунально-бытовом хозяйстве также имеются резервы для снижения водопотребления. В ряде стран в квартирах устанавливаются водосчетчики, и оплата за воду исчисляется по ее фактическому расходу. В западной печати в настоящее время поднимается вопрос о том, что современные смывные туалеты являются примером нерационального расходования воды, составляющей 99 % смыва. Известны предложения заменить воду сжатым воздухом.
Перспективным способом сокращения потребления воды промышленным производством является переход на оборотное водоснабжение, заключающееся в многократном повторном использовании уже отработанной воды либо за счет ее охлаждения и очистки в специальных сооружениях (если таковая требуется), либо передачей отработанной воды другим предприятиям, менее требовательным к ее качеству, т. е. кооперированием водоснабжения нескольких предприятий.
Для устранения потерь воды при орошении и вторичного засоления земель при обводнении открытые каналы заменяют сетыо металлических и полиэтиленовых труб, применяют бетоннополиэтиленовое покрытие дна оросительных каналов, широко используют дождевальные установки. Согласно имеющимся расчетам эти меры в недалеком будущем позволят экономить ежегодно не менее 1,3 млрд. м3 воды.
2. Проектирование и строительство водохранилищ комплексного многоцелевого назначения. Необходимость строительства водохранилищ диктуется в первую очередь интересами гидроэнергетики, но при этом происходит изъятие из пользования ценных сельскохозяйственных земель и лесных массивов; в зону затопления нередко попадают и населенные пункты. Создание водохранилищ, с одной стороны, не должно причинять ущерба другим отраслям хозяйства, а с другой — компенсировать утрату земель. Поэтому водохранилища должны решать ряд технических, хозяйственных и экологических задач, включая водоснабжение предприятий и жилых домов, улучшение режима естественных водотоков в целях обеспечения транспортных перевозок, ликвидацию пойменных болот, орошение и обводнение земель, а также создавать благоприятные рекреационные условия, облагораживать мезоклимат, способствовать благоустройству ландшафтов, предотвращать периодические затопления ценных земель.
3. Управление естественным стоком. Растущие потребности в воде, сопровождающиеся истощением водных ресурсов в отдельных регионах (например, из-за сведения лесов, водоразбора), вынуждают перераспределять естественный речной сток с целью подачи воды из водообеспеченных районов в малообеспеченные. Например, часть волжской воды передается Дону, Днепр частично подпитывается водой из северных рек.
В прошлом рассматривались проекты переброски нескольких десятков кубических километров воды ежегодно из бассейнов северных и сибирских рек в районы Поволжья и Средней Азии для возмещения здесь дефицита воды. Однако подобные проекты не нашли поддержки, и в первую очередь из-за непредсказуемых экологических изменений на огромных территориях. Отказ от реализации этих проектов — характерный пример ответственного и тщательно продуманного экологического подхода к проблемам природопользования в СССР.
4. Очистка промышленных стоков и пылегазовых выбросов. Подробно этот вопрос рассматривается в следующих главах книги. Здесь необходимо подчеркнуть следующие существенные обстоятельства. Загрязнение водных объектов связано не только со сбросом сточных вод предприятиями, но и с вымыванием осадками из атмосферного воздуха поступающих туда пылегазовых компонентов. Поэтому защита воздуха от загрязнения одновременно служит и защите воды.
На первый взгляд, самое простое — это поставить между технологией и природной средой «барьер» из очистных сооружений. Специальными постановлениями ЦК КПСС и Совета Министров СССР большие средства выделялись на строительство очистных сооружений для защиты, например, Байкала, Каспия, Волги, Урала, Черного и Азовского морей, для сохранения чистоты атмосферы во многих городах и промышленных центрах страны. Это неизбежное пока направление будет развиваться и далее. Но процесс очистки — не самый прогрессивный путь из-за дороговизны и энергоемкости очистных сооружений. Они требуют больших площадей, сложных технологических приемов. Кроме того, возникает проблема «избавления» от выделенных при очистке отходов — шламов, скопов, осадков. С увеличением степени очистки возрастают затраты. Например, для того, чтобы при достигнутой степени удаления примесей из сточных вод 92 % повысить степень очистки до 94 %, необходимо затратить приблизительно столько же средств, сколько на то, что уже достигнуто. Этот пример отчасти условен, но объективно иллюстрирует сложность проблем очистки.
5. Использование попутных и сточных вод в хозяйстве. Необходимость их использования специально подчеркнута в разделе XI «Основных направлений...», принятых XXVII съездом КПСС.
Интенсивное коммунальное строительство может привести к тому, что к 2000 году будет ежегодно образовываться до 40 км3 бытовых и 6 км3 сельскохозяйственных стоков. В то же время потребности в воде для орошения могут составить в пределах только европейской части СССР 300—400 км3/год.
Считается, что путем создания самотечных или насосных систем и сооружений указанным количеством стока можно оросить (при средней годовой норме 5 тыс. м3/га) около 10 млн. га сельскохозяйственных земель с одновременным получением ими 8 млн. т общего и 6 млн. т аммиачного азота, 1,6 млн. т фосфора, 10 млн. т калия. Подобные поля уже имеются в Украине, в Казахстане, Московской области. Затраты на технические сооружения, как показывает прутика, окупают себя прибавкой урожая в течение 3—4 лет.
Значительное количество воды теряется при свободном излиянии из артезианских скважин или при добыче, например, нефти. На последнее обратил внимание еще В. И. Ленин [11], писавший Л. П. Серебровскому: «Качаем воду (с нефтью) и не употребляем эту воду на орошение, которое дало бы гигантские урожаи сена, риса, хлопка».
Атмосферно-климатические ресурсы. Климат — важнейший природный ресурс, определяющий условия обитания человека, его производственную деятельность, продуктивность сельского и лесного хозяйства. Климат характеризуется теплоэнергетическим балансом, влагообеспеченностью и спецификой циркуляции атмосферы. В пределах СССР наблюдаются большое разнообразие регионально-климатических условий и четкая зональность в распределении тепла и влаги. Их учет, особенно при освоении новых регионов или решении задач сельского хозяйства, градостроительства, всецело находится в сфере рационального природопользования.
Известно, что для успешного ведения сельского хозяйства необходимо определенное соотношение энергетического баланса и влагообеспеченности. В противном случае наблюдается либо избыточное увлажнение, либо повышенная засушливость. Так, для районов с притоком солнечной энергии 200—250 кДж/см2 в год норма осадков не должна быть ниже 1000—1100 мм/год.
Управлять климатом человек не может, по крайней мере по отношению к гелиоресурсам и атмосферным циркуляциям. Однако орошаемое земледелие, создание полезащитных лесных насаждений и т. п. позволяют влиять на локальные климатические особенности, достигая оптимального сочетания тепловых и водных ресурсов, снижать повторяемость или ослаблять вредные последствия засух, суховейных периодов. Практически осуществимо искусственное вызывание осадков, предотвращение градобитий.
Вместе с тем деятельность человека существенно меняет ме - зоклиматические условия, приводит к образованию местных форм климата. Например, сложная структура городского ландшафта («городские каньоны» улиц, предприятия и транспорт, различно ориентированные каменные и металлические поверхности) ведет к образованию своеобразных ветровых потоков, насыщенности воздуха примесями, изменению соотношения прямой и рассеянной солнечной радиации, возникновению «тепловых островов» из-за температурных инверсий. Меняется мезоклимат в районах крупных водохранилищ.
Атмосферный воздух является также важнейшим природным ресурсом и одновременно — неотъемлемым элементом среды обитания (экосферы). Циркуляция воздушных масс, имеющих различную температуру и влажность, определяет режим погодных условий, проявляясь в ряде случаев в форме разрушительных явлений типа смерчей, ураганов. Воздух непосредственно воспринимает и трансформирует солнечное излучение, через атмосферу жизнь на Земле воспринимает многолетние циклы солнечной активности, с которыми связаны многие периодические явления в органическом мире.
Воздух является также промышленным ресурсом, средой многих химических реакций, он необходим для работы двигателей внутреннего сгорания и может служить источником энергии (при движении воздушных масс).
Антропогенное воздействие на атмосферу проявляется прежде всего в ее локальном и глобальном загрязнении твердыми, жидкими и газообразными ксенобиотиками промышленно-энерге - тического и хозяйственно-бытового происхождения (до 200 мли. т вещества в год). Известно, что при сжигании 1 т каменного угля выделяется примерно 20 кг диоксида серы. ТЭС, сжигающая уголь с содержанием 1 % серы, образует ежегодно выброс 33 т.-диоксида серы, способного в определенных условиях образовать до 50 т серной кислоты. Автомобиль образца 1970 г. выбрасывает в год до 297 кг СО, 39 кг углеводородов, 10 кг оксидов азота, до
0, 5 кг свинца. В районах нефтедобычи с горящим факелом попутного газа загрязнение воздуха углеводородами наблюдается в радиусе 3—5 км, в районе первичной переработки газа — до 10 км, в зоне предприятий глубокой переработки нефти — до 15—20 км. Ряд выбрасываемых веществ, например соединения серы, хлора, фтора, тяжелых металлов, токсичны для растений и вызывают непосредственный гербицидный эффект. Есть данные, что защит* ный озоновый экран атмосферы разрушается при полетах сверхзвуковых лайнеров.
Антропогенное влияние на климат определяется комплексным воздействием на атмосферу за счет, во-первых, изменения ее теплового баланса из-за роста производства энергии, во-вторых, увеличения содержания СОг и, в-третьих, возрастания концентрации атмосферного аэрозоля (т. е. взвешенных частиц преимущественно сернистых соединений размерами в доли микрометра).
По прогнозам чл.-корр. АН СССР М. И. Будыко увеличение производства энергии на 4—10 % в год может привести к тому, что в течение ближайших 100—200 лет количество высвобождаемой теплоты будет соизмеримо с величиной радиационного баланса всей суши. Предполагается увеличение среднегодовой температуры воздуха в 2050 году на 1°, а к 2100 году— на 3°, что может вызвать катастрофические последствия, связанные, например, с таянием «вечных» льдов. Повышение содержания диоксида углерода на 15—20 % к 2000 г. (по сравнению с 1970 г.) чревато аналогичными последствиями: за счет этого эффекта температура у поверхности суши возрастает примерно на 0,5° в средних широтах и на 1° — в высоких, и потепление климата усугубится («парниковый эффект»). В качестве возможного следствия называют отступление к северу границы морских полярных льдов примерно на 2° широты.
Увеличение концентрации антропогенного аэрозоля, масса которого уже сейчас оценивается в 10 млн. т, может изменить оптические свойства атмосферы (прежде всего снизить прозрачность), что уменьшит приход общей солнечной радиации примерно на 15 %, а ультрафиолетовой — на 30 %, а это приведет к снижению температуры. Конечно, реальные процессы значительно более сложны и взаимосвязаны, однако изложенные примеры убедительно показывают, что воздействие человека на
msd.com.ua
Реферат Оптимизация ресурсов
скачатьРеферат на тему:
План:
- Введение
- 1 Основы
- 1.1 Компромиссы (tradeoff)
- 1.2 Различные области
- 1.3 Узкие места
- 2 Простейшие приёмы оптимизации программ по затратам процессорного времени
- 2.1 Инициализация объектов данных
- 2.2 Программирование арифметических операций
- 2.3 Циклы
- 2.4 Инвариантные фрагменты кода
- 3 Приоритеты оптимизации Литература
Введение
Эта статья об оптимизации программ и данных вообще;об оптимизациях, применяемых компиляторами см.: Оптимизация компилятора.
Оптимизация — модификация системы для улучшения её эффективности. Система может быть одиночной компьютерной программой, набором компьютеров или даже целой сетью, такой как Интернет.
Хотя целью оптимизации является получение оптимальной системы, истинно оптимальная система в процессе оптимизации достигается далеко не всегда. Оптимизированная система обычно является оптимальной только для одной задачи или группы пользователей: где-то может быть важнее уменьшение времени, требуемого программе для выполнения работы, даже ценой потребления большего объёма памяти; в приложениях, где важнее память, могут выбираться более медленные алгоритмы с меньшими запросами к памяти.
Более того, зачастую не существует универсального решения, которое работает хорошо во всех случаях, поэтому инженеры используют компромиссные (англ. tradeoff) решения для оптимизации только ключевых параметров. К тому же, усилия, требуемые для достижения полностью оптимальной программы, которую невозможно дальше улучшить, практически всегда превышают выгоду, которая может быть от этого получена, поэтому, как правило, процесс оптимизации завершается до того, как достигается полная оптимальность. К счастью, в большинстве случаев даже при этом достигаются заметные улучшения.
Оптимизация должна проводиться с осторожностью. Тони Хоар впервые произнёс, а Дональд Кнут впоследствии часто повторял известное высказывание: «Преждевременная оптимизация — это корень всех бед». Очень важно иметь для начала озвученный алгоритм и работающий прототип.
1. Основы
Некоторые задачи часто могут быть выполнены более эффективно. Например, программа на языке Си, которая суммирует все целые числа от 1 до N:
int i, sum = 0; for (i = 1; i <= N; i++) sum += i;Подразумевая, что здесь нет переполнения, этот код может быть переписан в следующем виде с помощью соответствующей математической формулы:
int sum = (N * (N+1)) / 2;Понятие «оптимизация» обычно подразумевает, что система сохраняет ту же самую функциональность. Однако, значительное улучшение производительности часто может быть достигнуто и с помощью удаления избыточной функциональности. Например, если допустить, что программе не требуется поддерживать более, чем 100 элементов при вводе, то возможно использовать статическое выделение памяти вместо более медленного динамического.
1.1. Компромиссы (tradeoff)
Оптимизация в основном фокусируется на одиночном или повторном времени выполнения, использовании памяти, дискового пространства, пропускной способности или некотором другом ресурсе. Это обычно требует компромиссов — один параметр оптимизируется за счёт других. Например, увеличение размера программного кеша чего-либо улучшает производительность времени выполнения, но также увеличивает потребление памяти. Другие распространённые компромиссы включают прозрачность кода и его выразительность, почти всегда ценой деоптимизации. Сложные специализированные алгоритмы требуют больше усилий по отладке и увеличивают вероятность ошибок.
1.2. Различные области
В исследовании операций, оптимизация — это проблема определения входных значений функции, при которых она имеет максимальное или минимальное значение. Иногда на эти значения накладываются ограничения, такая задача известна как ограниченная оптимизация.
В программировании, оптимизация обычно обозначает модификацию кода и его установок компиляции для данной архитектуры для производства более эффективного ПО.
Типичные проблемы имеют настолько большое количество возможностей, что программисты обычно могут позволить использовать только «достаточно хорошее» решение.
1.3. Узкие места
Для оптимизации требуется найти узкое место (англ. hotspot), иногда называемое бутылочным горлышком (англ. bottleneck): критическую часть кода, которая является основным потребителем необходимого ресурса. Улучшение примерно 20 % кода иногда влечёт за собой изменение 80 % результатов). Для поиска узких мест используются специальные программы — профайлеры. Утечка ресурсов (памяти, дескрипторов и т.д.) также может привести к падению скорости выполнения программы, для их нахождения также применяются специальные программы (например, BoundsChecker).
Архитектурный дизайн системы особенно сильно влияет на её производительность. Выбор алгоритма влияет на эффективность больше, чем любой другой элемент дизайна. Более сложные алгоритмы и структуры данные могут хорошо оперировать с большим количеством элементов, в то время как простые алгоритмы подходят для небольших объёмов данных — накладные расходы на инициализацию более сложного алгоритма могут перевесить выгоду от его использования.
Чем больше памяти использует программа, тем быстрее она обычно выполняется. Например, программа-фильтр обычно читает каждую строку, фильтрует и выводит эту строку непосредственно. Поэтому она использует память только для хранения одной строки, но её производительность обычно очень плохая. Производительность может быть значительно улучшена чтением целого файла и записью потом отфильтрованного результата, однако этот метод использует больше памяти. Кэширование результата также эффективно, однако требует большего количества памяти для использования.
2. Простейшие приёмы оптимизации программ по затратам процессорного времени
Оптимизация по затратам процессорного времени особенно важна для расчетных программ, в которых большой удельный вес имеют математические вычисления. Здесь перечислены некоторые приемы оптимизации, которые может использовать программист при написании исходного текста программы.
2.1. Инициализация объектов данных
Во многих программах какую-то часть объектов данных необходимо инициализировать, то есть присвоить им начальные значения. Такое присваивание выполняется либо в самом начале программы, либо, например, в конце цикла. Правильная инициализация объектов позволяет сэкономить драгоценное процессорное время. Так, например, если речь идет об инициализации массивов, использование цикла, скорее всего, будет менее эффективным, чем объявление этого массива прямым присвоением.
2.2. Программирование арифметических операций
В том случае, когда значительная часть времени работы программы отводится арифметическим вычислениям, немалые резервы повышения скорости работы программы таятся в правильном программировании арифметических (и логических) выражений. Важно, что различные арифметические операции значительно различаются по быстродействию. В большинстве архитектур, самыми быстрыми являются операции сложения и вычитания. Более медленным является умножение, затем идёт деление. Например, вычисление значения выражения , где a — константа, для аргументов с плавающей точкой производится быстрее в виде , где — константа, вычисляемая на этапе компиляции программы (фактически медленная операция деления заменяется быстрой операцией умножения). Для целочисленного аргумента x вычисление выражения 2x быстрее произвести в виде x + x (операция умножения заменяется операцией сложения) или с использованием операции сдвига влево (что обеспечивает выигрыш не на всех процессорах). Подобные оптимизации называются понижением силы операций. Умножение целочисленных аргументов на константу на процессорах семейства x86 может быть эффективно выполнено с использованием ассемблерных команд LEA, SHL и ADD вместо использования команд MUL/IMUL:
; Исходный операнд в регистре EAX ADD EAX, EAX ; умножение на 2 LEA EAX, [EAX + 2*EAX] ; умножение на 3 SHL EAX, 2 ; умножение на 4 LEA EAX, [4*EAX] ; другой вариант реализации умножения на 4 LEA EAX, [EAX + 4*EAX] ; умножение на 5 LEA EAX, [EAX + 2*EAX] ; умножение на 6 ADD EAX, EAX ; и т.д.Подобные оптимизации являются микроархитектурными и обычно производятся оптимизирующим компилятором прозрачно для программиста.
Относительно много времени тратится на обращение к подпрограммам (передача параметров через стек, сохранение регистров и адреса возврата, вызов конструкторов копирования). Если подпрограмма содержит малое число действий, она может быть реализована подставляемой (англ. inline) — все ее операторы копируются в каждое новое место вызова (существует ряд ограничений на inline-подстановки: например, подпрограмма не должна быть рекурсивной). Это ликвидирует накладные расходы на обращение к подпрограмме, однако ведет к увеличению размера исполняемого файла. Само по себе увеличение размера исполняемого файла не является существенным, однако в некоторых случаях исполняемый код может выйти за пределы кэша команд, что повлечет значительное падение скорости исполнения программы. Поэтому современные оптимизирующие компиляторы обычно имеют настройки оптимизации по размеру кода и по скорости выполнения.
Быстродействие также зависит и от типа операндов. Например, в языке Turbo Pascal, ввиду особенностей реализации целочисленной арифметики, операция сложения оказывается наиболее медленной для операндов типа Byte и ShortInt: несмотря на то, что переменные занимают один байт, арифметические операции для них двухбайтовые и при выполнении операций над этими типами производится обнуление старшего байта регистров и операнд копируется из памяти в младший байт регистра. Это и приводит к дополнительным затратам времени.
Программируя арифметические выражения, следует выбирать такую форму их записи, чтобы количество «медленных» операций было сведено к минимуму. Рассмотрим такой пример. Пусть необходимо вычислить многочлен 4-й степени:
ax4 + bx3 + cx2 + dx + eПри условии, что вычисление степени производится перемножением основания определенное число раз, нетрудно найти, что в этом выражении содержится 10 умножений («медленных» операций) и 4 сложения («быстрых» операций). Это же самое выражение можно записать в виде:
(((ax + b)x + c)x + d)x + eТакая форма записи называется схемой Горнера. В этом выражении 4 умножения и 4 сложения. Общее количество операций сократилось почти в два раза, соответственно уменьшится и время вычисления многочлена. Подобные оптимизации являются алгоритмическими и обычно не выполняется компилятором автоматически.
2.3. Циклы
Различается и время выполнения циклов разного типа. Время выполнения цикла со счетчиком и цикла с постусловием при всех прочих равных условиях совпадает, цикл с предусловием выполняется несколько дольше (примерно на 20-30 %).
При использовании вложенных циклов следует иметь в виду, что затраты процессорного времени на обработку такой конструкции могут зависеть от порядка следования вложенных циклов. Например, вложенный цикл со счетчиком на языке Turbo Pascal:
for j := 1 to 100000 do for k := 1 to 1000 do a := 1; | for j := 1 to 1000 do for k := 1 to 100000 do a := 1; |
Цикл в левой колонке выполняется примерно на 10 % дольше, чем в правой.
На первый взгляд, и в первом, и во втором случае 10 000 000 раз выполняется оператор присваивания, и затраты времени на это должны быть одинаковы в обоих случаях. Но это не так. Объясняется наше наблюдение тем, что инициализации цикла, то есть обработка процессором его заголовка с целью определения начального и конечного значений счётчика, а также шага приращения счётчика требует времени. В первом случае 1 раз инициализируется внешний цикл и 100 000 раз — внутренний, то есть всего выполняется 100 001 инициализация. Во втором случае, как нетрудно подсчитать, таких инициализаций оказывается всего лишь 1001.
Аналогично ведут себя вложенные циклы с предусловием и с постусловием. Можно сделать вывод, что при программировании вложенных циклов по возможности следует делать цикл с наибольшим числом повторений самым внутренним, а цикл с наименьшим числом повторений — самым внешним.
Но, лучших результатов можно добиться, объединив несколько циклов в один, когда такое допустимо. Например:
for(int y=0; y<height; y++) for(int x=0; x<width; x++) put_puxel(x,y,0x00FF00); | for(int i=0,n=width*height; i<n; i++) VRAMptr_dd[i] = 0x00FF00; |
Улучшение за счёт снижения кол-ва цикловых команд, и чем уже width тем эффективней.
Если в циклах содержатся обращения к памяти (обычно при обработке массивов), порядок обхода адресов памяти должен быть по возможности последовательным, что позволяет максимально эффективно использовать кэш и механизм аппаратной предвыборки данных из памяти (англ. Hardware Prefetch). Классическим примером подобной оптимизации является смена порядка следования вложенных циклов при выполнении умножения матриц.
При вычислении сумм часто используются циклы, содержащие одинаковые операции, относящиеся к каждому слагаемому. Это может быть, например, общий множитель (язык Turbo Pascal):
sum := 0; for i := 1 to 1000 do sum := sum + a * x[i]; | sum := 0; for i := 1 to 1000 do sum := sum + x[i]; sum := a * sum; |
Очевидно, что вторая форма записи цикла оказывается более экономной.
2.4. Инвариантные фрагменты кода
Оптимизация инвариантных фрагментов кода тесно связана с проблемой оптимального программирования циклов. Внутри цикла могут встречаться выражения, фрагменты которых никак не зависят от управляющей переменной цикла. Их называют инвариантными фрагментами кода. Современные компиляторы часто определяют наличие таких фрагментов и выполняют их автоматическую оптимизацию. Такое возможно не всегда, и иногда производительность программы зависит целиком от того, как запрограммирован цикл. В качестве примера рассмотрим следующий фрагмент программы (язык Turbo Pascal):
for i := 1 to n do begin ... for k := 1 to p do for m := 1 to q do begin a[k, m] := Sqrt(x * k * m - i) + Abs(u * i - x * m + k); b[k, m] := Sin(x * k * i) + Abs(u * i * m + k); end; ... am := 0; bm := 0; for k := 1 to p do for m := 1 to q do begin am := am + a[k, m] / c[k]; bm := bm + b[k, m] / c[k]; end; end;Здесь инвариантными фрагментами кода являются слагаемое Sin(x * k * i) в первом цикле по переменной m и операция деления на элемент массива c[k] во втором цикле по m. Значения синуса и элемента массива не изменяются в цикле по переменной m, следовательно, в первом случае можно вычислить значение синуса и присвоить его вспомогательной переменной, которая будет использоваться в выражении, находящемся внутри цикла. Во втором случае можно выполнить деление после завершения цикла по m. Таким образом, можно существенно сократить количество трудоёмких арифметических операций.
3. Приоритеты оптимизации
- интерфейсный, т.е.желательно заранее ВСЁ согласовать с другими участниками проекта, включая кому сколько МАКСИМУМ %CPUuse на конкретном ПК.
- PS: ПК не должен быть современным и многопроцессорным... Если такого нет - заведомо сильно ограничить суммарный CPU расход, можно утилитами типа slowcpu; на MP доп.CPU отключая в BIOS/фиксируя все потоки на один CPU (но, это не эквивалент SP, т.к.ОС будет висеть на др.CPU, только для процесса программирования, не конечного тестирования) - исходя из того что релиз будет значительно тормознее ожидаемого, и чем сложнее тема, жёстче сроки, и меньше опыта в теме - тем сильнее... К тому же запас ВСЕГДА нужен ещё и на сколько-то нормальную работу в режиме DEBUG,TRACE
- PS: согласовать и обсудить - не спеша, и каждую мелочь вплоть до того где использовать ООП, а где нет - для ускорения. PS: Подсказка - STL и прч.- не использовать НИГДЕ... С# - аналогично, Скрипты - ТОЛЬКО там где нельзя без них обойтись..., тем более они часто привносят много проблем с багами...
- PS: причём не забыв каждую итерацию теста - искусственно сбрасывать L12 кэши и BTB,... Чтобы соединив все модули затем не удивляться...
- алгоритмический, минус - принцип чем оптимизированней - тем менее понятно, тем больше багов; но это самый эффективный способ, тем более наиболее оптимизируемые алгоритмы уже давно оптимизированы и можно посмотреть на их реализацию.
Этот пункт можно можно разделить на:
- математически-алгоритмический
- логически-алгоритмический
- проче-функционально-алгоритмический, например использования асинхронного исполнения всего что можно
- кэш-оптимизации на уровне алгоритма, включая HW L1,L2,программные-для данных, программные для ресурсов
- использование спецкоманд, например MMX,SSE,... Правда суммарно минусов больше чем плюсов, так как это чисто пиаровские технологии, например трудозатраты (тем более на изучения их работы - 1) на разных архитектурах 2) у разных производителей CPU 3) в разных их моделях...)
PS: но, должен всегда быть вариант кода - без их наличия, в т.ч.для возм.портирования в будущем [возможно другими людьми] и просто для Safe версии исполнимого файла, т.к.некоторые PC-совместимые ПК, тем более лаптопы и прч. - не совсем совместимые и тем более безглючные...
- замена кода на ассемблерный, весьма спорна, т.к.не считая непортированности, и неплохого уровня оптимизации (некоторых) современных компиляторов, чтобы в случае большого объёма кода или применения нестандартных для программирования трюков приводит к очень плачевным результата - ошибкам, источник которые чаще так и не обнаруживается... Но оптимизация тоже имеет право на жизнь, особенно в inline или небольших ф-иях, типа rol и т.п. И особенно если программист хоть сколько знаком с ассемблером и архитектурой ПК, так как ассемблер позволяет иногда ускорить (некоторые) блоки в десятки и сотни раз за счёт визуального представления о функционировании и как следствии оптимизации так чтобы эффективно использовать L1, L2, промах которых на современных ПК исчисляется сотнями тактов.
PS: так же для каждого итерации оптимизации в идеале должен сохраняться неоптимизированный пример просто для понимания алгоритма другими людьми в проекте из тех кто плохо разбирается в подобном, или самому через пару недель/месяцев, просто для тестов на скорость и главное эквивалентность работы с и без такой оптимизации...
Литература
- Jon Bentley. Writing Efficient Programs. ISBN 0-13-970251-2
- Дональд Кнут. Искусство программирования = The Art of Computer Programming. — 3-е изд. — М.: Вильямс, 2006. — Т. 1: Основные алгоритмы. — 720 с. — ISBN 0-201-89683-4
- Дональд Кнут. Искусство программирования = The Art of Computer Programming. — 3-е изд. — М.: Вильямс, 2007. — Т. 2: Получисленные алгоритмы. — 832 с. — ISBN 0-201-89684-2
- Дональд Кнут. Искусство программирования = The Art of Computer Programming. — 2-е изд. — М.: Вильямс, 2007. — Т. 3: Сортировка и поиск. — 824 с. — ISBN 0-201-89685-0
- С. А. Немнюгин. Практикум // Turbo Pascal. — 2-е изд. — СПб.: Питер, 2007. — 268 с. — ISBN 5-94723-702-4
- Крис Касперски. Техника оптимизации программ. Эффективное использование памяти. — СПб.: БХВ-Петербург, 2003. — 464 с. — ISBN 5-94157-232-8
- Intel 64 and IA-32 Architectures Optimization Reference Manual
- AMD Athlon Processor x86 Code Optimization Guide
- http://www.agner.org/optimize/#manuals
wreferat.baza-referat.ru
Оптимизация загрузки ресурсов - Энциклопедия по экономике
Следует отметить, что оптимизация загрузки ресурсов в течение последних тридцати лет была одной из самых популярных теоретических задач ряда областей науки, тесно связанных с научным менеджментом. Несмотря на это, до настоящего времени не получено общепризнанное теоретически безупречное решение, пригодное для практического применения. Но труды ученых не пропали даром и многое прояснили в практических методах ее решения. [c.251] Прежде всего, следует отметить, что оптимизация загрузки ресурсов относится к так называемым двойственным задачам и может формулироваться двояко. [c.251]Оптимизация загрузки ресурсов [c.256]
Так организованы алгоритмы оптимизации загрузки ресурсов, реализованные во многих системах управления проектами. Они отличаются друг от друга, в основном, принципами разбивки календарного периода выполнения проекта на интервалы и правилами формирования системы приоритетов, определяющих последовательность и величину сдвига работ на более поздние сроки. [c.260]
В условиях конструкторской подготовки производства весьма трудно обеспечить равномерную по календарным срокам сдачу технической документации на опытные образцы. Выявленные в процессе проектирования недочеты конструкции, необходимость конструкторских доработок и изменений, естественно, вызывает многочисленные отклонения от плановых сроков и, как следствие, неравномерное поступление заказов в экспериментальные цехи. В таких условиях большую роль играет применение математических приемов, позволяющих оперативно маневрировать ресурсами и обеспечить выравнивание загрузки производственных участков. В частности, оптимизация загрузки опытного производства, маневрирование ресурсами могут выполняться методами математического моделирования. [c.130]
Производительность СУБД определяется несколькими факторами, характеризующими разнообразные применения и рабочие нагрузки. Однако всегда целью является оптимизация имеющихся ресурсов и разделение их между приложениями и пользователями. В первую очередь это относится к дисковому вводу/выводу, сетевому графику, загрузке центрального процессора, параллельному доступу к базе данных одновременно большого числа пользователей. [c.349]
Целью логистики является организация в пространстве и во времени материальных потоков с минимальной затратой ресурсов, которая обеспечит максимальное удовлетворение запросов потребителей. Основными задачами логистики являются организация материальных потоков предприятия оптимизация загрузки производственных мощностей оптимизация затрат на производство и реализацию изготовленной продукции экономия материальных ресурсов на всех стадиях материальных потоков. Чтобы выполнить цели и задачи логистики в рамках предприятия, строят логистические системы. [c.592]
Специальные инструменты по управлению трудовыми ресурсами в центрах поддержки клиентов предлагают возможности планирования персонала и оптимизации загрузки в соответствии со спецификой бизнеса. Некоторые из систем специализируются именно на управлении персоналом в контакт-центрах. Оптимизация происходит вокруг пиков обращений, различных каналов взаимодействия, типов клиентов, что гарантирует достойный уровень сервиса наиболее ценным из них. Системы могут комбинировать задачи операционного управления, такие как распределение звонков в соответствии с приоритетами, функциями планирования, включая [c.175]
Наиболее распространенным методом решения важных практических задач планирования и управления является линейное программирование. С помощью симплекс-метода решаются задачи планирования производственной программы предприятия, объединения, способствующие получению максимального эффекта при ограниченных материальных и трудовых ресурсах. Распределительный метод линейного программирования позволяет выбрать оптимальные варианты планов транспортных перевозок решать задачи по оптимизации планов загрузки оборудования и др. [c.78]
Этот алгоритм может быть использован для приближенного решения задачи оптимизации потребления нескольких видов ресурсов. В нашем случае оптимизации подлежат квалификационный состав бригад и загрузка всех машин и механизмов, так как условия технологической последовательности работ и максимальное перекрытие одних работ другими выполняется в процессе построения сетевой модели. [c.101]
Сетевой график следует проанализировать с целью сокращения критического пути, затрат ресурсов, уменьшения ненужных резервов. Этот процесс предшествует оптимизации сетевого графика. Анализ позволяет оценить целесообразность структуры графика, определить степень сложности выполнения каждой работы, вероятность наступления событий в заданный (директивный) срок, загрузку исполнителей работ на всех этапах выполнения проекта. [c.42]
Расчеты на сети дают возможность сосредоточить усилия на критических работах. Степени свободы, остающиеся для некритических работ, могут быть использованы для оптимизации частных характеристик графика (равномерность загрузки оборудования, потребления ресурсов и т. п.). При решении задачи определяется способ производства, согласованный по очередности завершения этапов работы и оптимальный по величине затрат. [c.43]
Реально группы представляют собой огромные хозяйственные комплексы, собирающие под одну крышу предприятия и учреждения сфер производственной, финансовой и коммерческой. Интеграция в ФПГ различных удачно подобранных хозяйствующих субъектов повышает возможности для оптимизации состава и использования объединяемого капитала. Это, в свою очередь, приводит к экономии капитальных вложений, более полной загрузке производственных мощностей, росту отдачи вовлеченных ресурсов. Финансово-промышленные группы способствуют экономии оборотных средств, в частности, благодаря развитию взаимного зачета платежей структурных подразделений внутри групп, что уменьшает платежный оборот и массу финансовых ресурсов, необходимых для нормального обеспечения производства и обращения. [c.371]
Таким образом, при оптимизации хозяйственных связей решаются задачи рационального распределения материальных ресурсов с учетом эффективности их использования у различных групп потребителей оптимизации ассортиментной загрузки производства оптимизации прикрепления потребителей продукции к поставщикам. [c.230]
Сетевой график и график загрузки людских ресурсов после оптимизации представлены на рис.7.8. Приоритет передвижения работ по оси времени отдавался работам с наибольшими резервами времени. [c.101]
Предполагается, что стратегический ресурс госпиталя, его операционный блок, будет редко простаивать без работы. Поэтому в госпитале должно быть достаточное число хирургов, хирургических сестер и анестезиологов, обеспечивающее полную загрузку операционных. В некоторых госпиталях это условие не выполняется, и в них легко заметить признаки плохо организованного потока пациентов, заключающиеся в том, что пациенты с одинаковыми заболеваниям в таких госпиталях пребывают в среднем дольше, чем по стране в целом. Иногда в госпиталях даже отсутствует понимание того, что операционные представляют собой их стратегические ресурсы, и вся их деятельность не подчинена задаче обеспечения наиболее полного использования их пропускной способности. Зачастую политика госпиталя нацелена на оптимизацию режимов работы врачей, а не сроков лечения больных. При этом упускается из виду, что содержанием госпитальных проектов является лечение больных, а не работа медицинского персонала сама по себе. [c.356]
Планы добычи и размещения нефти, производства и поставок нефтепродуктов имеют целью сбалансировать загрузки производственных мощностей и оптимизацию суммарного показателя маржинальной прибыли (операционного дохода) от операций с нефтью и нефтепродуктами, когда осуществляется выбор между различными направлениями размещения ресурса. [c.107]
Возможности Proje t позволяют применять для управления загрузкой ресурсов комбинированные экранные формы, позволяющие за счет высокоэффективного интерфейса Proje t планировать расписание задач проекта одновременно с оптимизацией загрузки ресурсов. Комбинированные экранные формы помогают широко привлекать квалифицированных экспертов для управления ресурсами и существенно расширяют их способность влиять на выполнение проекта. [c.252]
В ряде случаев может оказаться целесообразным использование возможностей Proje t для того, чтобы попытаться оптимизировать загрузку ресурсов. Эта система управления проектами имеет встроенный алгоритм, позволяющий автоматически решать задачу оптимизации загрузки ресурсов. С точки [c.256]
Познакомившись с принципом работы реализованного разработчиками Proje t алгоритма оптимизации загрузки ресурсов, рассмотрим алгоритм 4.9, при помощи которого можно средствами Proje t выравнивать загрузку ресурсов. [c.261]
Resour eView — специализированная система для планирования и контроля использования ресурсов. Поддерживаются средства выравнивания о оптимизации загрузки ресурсов. [c.651]
Анализ показанной на рис. 3.23 линейной диаграммы показывает, что сам по себе ввод временного ограничения задачи еще не обеспечивает автоматического изменения всего расписания задач графика. Хотя Proje t имеет определенные возможности выравнивания загрузки ресурсов и пересчета временных показателей задач (они будут рассмотрены далее), основным средством оптимизации расписания проекта должны служить принимаемые руководителем проекта и другими членами команды проекта решения — это принцип управления проектами. [c.159]
Одной из наиболее важных задач управления ресурсами является планирование их загрузки. Специфика этой задачи такова, что ее решение без привлечения возможностей систем управления проектами в любых практически значимых случаях вообще не представляется возможным. С помощью экранных форм Proje t и других возможностей этой системы управления проектами опытный менеджер сможет наглядно увидеть, как отражаются возможные решения управленческих задач на загрузке ресурсов, и принять меры к оптимизации расписания проекта в комплексе с загрузкой ресурсов. [c.251]
Следует иметь в виду, что I час простоя рабочего места (рабочего и оборудования) в условиях непоточного производства наносит убытки, Во много раз большие, чем убытки производства от I часа пролеживания предметов труда одного наименования. Поэтому общий критерий оптимизации — минимум затрат производственных ресурсов — в условиях непоточного производства может быть обеспечен за счет организации непрерывной загрузки рабочих мест, тогда как в поточном производстве — выбором варианта с минимальным временем межоперационного пролеживания деталей. [c.147]
Совершенствование экономич. управления на базе массового создания АСУ ведёт к росту эффективности общественного произ-ва. Экономич. эффективность АСУ исчисляется как разность полученной дополнит, прибыли и стоимости системы. Последняя складывается из затрат на проектирование, произ-во и монтаж оборудования, затрат на внедрение и отладку системы, а также эксплуатац. затрат. Экономич. эффект от внедрения АСУ достигается за счёт а) роста объёма произ-ва в результате лучшего планирования и управления б) более полной загрузки производств, мощностей, более рационального использования ресурсов в) ускорения циклов произ-ва, транспортировки и потребления в результате оптимизации производств, и транспортных программ г) уменьшения уровня производств, запасов н повышения оборачиваемости оборотных средств снижения непроизводит. затрат за счёт возрастания гибкости системы управления д) снижения относит, численности управленч. персонала. [c.18]
Метод определения трансфертных цен на основе управляемых (переменных) затрат обладает рядом существенных преимуществ по сравнению с методом полных затрат, поскольку прежде всего способствует лучшему распределению ресурсов в краткосрочном плане и позволяет определить нижнюю границу цены. Подобная методика соответствует методике нормативных цен в случае полной загрузки производственных мощностей подразделения поставщика. Постоянные издержки при этом могут переноситься единым блоком на потребителя продукции, что позволяет избежать проблемы пересчетов. Применение переменных издержек также способствует оптимизации производственной программы для компании в целом. Однако при действующей системе налогообложения трансфертные цены не могут быть ниже себестоимости и выше рыночной цены продукции, что во многом ограничивает возможности использования метбди-ки трансфертного ценообразования на базе регулируемых (переменных) издержек. [c.94]
economy-ru.info