Шестаков В.С. Расчет на ЭВМ нефтегазового оборудования. Учебное пособие для МНГ-2015 (811778), страница 38
Текст из файла (страница 38)
Схема построения программного обеспеченияРазработка программного обеспеченияДля упрощения отладки программа разделена на подпрограммыпо условию - каждая выполняемая в программе функция оформляетсяотдельной подпрограммой.В подпрограмму метода оптимизации передаются только значения, необходимые для расчета, согласно алгоритму значений переменных оптимизации.
Из подпрограммы оптимизации возвращаютсяоптимальные значения переменных и найденное значение целевойфункции. Аналогично в подпрограмму расчета целевой функции передаются только текущие значения переменных оптимизации и возвращается значение функции. Передача указанных данных можетбыть выполнена через аргументы.
Передача всех остальных данных,необходимых для расчета функции, выполняется, минуя подпрограмму метода оптимизации, через глобальные переменные (эти данные нарис. 5.24 показаны в первом элементе над линией). Такой подход позволяет сделать подпрограмму метода оптимизации универсальной, независящей от конкретной задачи.221L,P,[σ]p, [σ]c,φ,γ1, γ2, Се1, Се2x1, x21 ar sin( L / x1 ) , 2 ar sin( L / x2 ) .F1 F2 S1 Pcos( 1 ) sin( 1 ) cos( 2 ) / sin( 2 ),F1 sin( 1 ).sin( 2 )F1c , S2 F2рМ1 =γ1 S1 x1 , М1 =γ2 S2 x2 ,Ц1 =Се1 М1 , Ц2 =Се2 М2Цп = Ц1 +Ц2ЦРис. 5.24. Блок-схема алгоритма расчета целевой функцииДля реализации структурной оптимизации все возможные варианты могут быть помещены на лист Excel, в программе организуетсяцикл по очередному вводу данных варианта и выполняется параметрическая оптимизация по схеме на рис.
5.23 (текст подпрограммы покоординатного спуска приведен выше).Программа определения оптимального исполнения подвески:Option ExplicitDim P, H, L, Hc, sigma1, sigma2, gamma1, gamma2, Ce1, Ce2, List1, List2, j, iv,Yo As Single, NNDim Xmin(10) As Single, Xmax(10) As Single, dX(10) As Single, Xo(10) As Single,Xн(10) As SingleConst Fi = 0.65222Sub Оптимизация_подвески_блока()Ввод_подвески_блокаj=5For j = 5 To 8Ввод_варианта_подвески_блокаCall opt_pok_spuska(2, Xн, Xmin, Xmax, Xo, Yo, NN)Worksheets("Подвеска").Cells(20, j) = Xo(1)Worksheets("Подвеска").Cells(21, j) = Xo(2)Worksheets("Подвеска").Cells(22, j) = YoNext jEnd SubSub Ввод_подвески_блока()With Worksheets("Подвеска")P = .Range("G4")H = .Range("G5")L = .Range("G6")Hc = .Range("G7")End WithXmin(1) = L : Xmin(2) = LXmax(1) = (L ^ 2 + H ^ 2) ^ 0.5 : Xmax(2) = (L ^ 2 + (Hc - H) ^ 2) ^ 0.5Xн(1) = (Xmax(1) + Xmin(1)) / 2 : Xн(2) = (Xmax(2) + Xmin(2)) / 2End SubSub Ввод_варианта_подвески_блока()With Worksheets("Подвеска")sigma1 = .Cells(9, j) * 1000000 :sigma2 = .Cells(10, j) * 1000000gamma1 = .Cells(11, j) :gamma2 = .Cells(12, j)Ce1 = .Cells(13, j) :Ce2 = .Cells(14, j)List1 = .Cells(15, j) :List2 = .Cells(16, j)End WithEnd SubFunction Fy(X() As Single)Dim Y, a1, a2, F1, F2, S1, S2, M1, M2, Ц1, Ц2, Цa1 = Application.WorksheetFunction.Asin(L / X(1))a2 = Application.WorksheetFunction.Asin(L / X(1))F1 = P / (Cos(a1) + Sin(a1) * Cos(a2) / Sin(a2))F2 = F1 * Sin(a1) / Sin(a2)S1 = F1 / sigma1 / Fi : S2 = F2 / sigma2M1 = gamma1 * S1 * X(1) : M2 = gamma2 * S2 * X(2)Ц1 = Ce1 * M1 : Ц2 = Ce2 * M2: Ц = Ц1 + Ц2 : Fy = ЦEnd Function223Вид листа Excel с исходными данными и результатами.А12345678910111213141516BCDEFGОПРЕДЕЛЕНИЕ ОПТИМАЛЬНОГО ИСПОЛНЕНИЯПОДВЕСКИ БЛОКА ЛЕБЕДКИИсходные данныеПараметр1.
Вес поднимаемого груза, Н2. Высота крепления блока, м3. Расстояние от стены, м4. Высота стены, мВариант структурного исполненияДопустимое напряжение растяжения,МН/м2Допустимое напряжение сжатия, МН/м2Плотность материала 1 элемента, кг/м2Плотность материала 2 элемента, кг/м2Стоимость материала 1 элемента, руб/кгСтоимость материала 2 элемента, руб/кгРасположение табл. профилей 1 элементаРасположение табл. профилей 2 элемента12Значение50000528341253312533190145190 1907800 7800 7800 78007800 7800 7800 78005020602050203050Круг Круг Кольцо КругКруг Круг Круг КругСЧ 15-17 Материал 1 элементаHСт. 3 32СЧ 15-Ст. 3 32СЧ 15-1819202122Материал 2 элементаСт. 3 32Ст.
3 Ст. 3Результаты расчетаОптимальный размер 1 элемента, м3.026 2.899 2.931 2.963Оптимальный размер 1 элемента, м2222Стоимость подвески блока, руб620.6 802.4 661.6 869.3224ЗАКЛЮЧЕНИЕВ пособии представлены примеры часто решаемых расчетных задач определения продолжительности цикла, усилий в элементах, оптимальных значений параметров. Причем по оптимизации представлен только один раздел теории оптимизации. Для решения другихмногочисленных оптимизационных задач, к примеру транспортной,составления смеси и т.
п., необходимо проработать теорию линейногопрограммирования и воспользоваться имеющимися пакетами программ.Представленные в пособии примеры решения могут быть использованы в качестве образцов для решения собственных задач, особенноприведенные программы для поиска оптимального решения. Их можно взять за основу, а при решении собственной задачи заменить подпрограмму расчета целевой функции, изменить обозначения переменных и ввести соответствующие исходные данные.Изучение сведений по работе в среде Excel и программированиюна Visual Basic позволят получить навыки решения не только приведенных, но и других задач, возникающих у специалистов в процессеработы.
Так, в процессе проектирования машин и оборудования решаются и другие задачи, например, расчет требуемой подачи буровогораствора, но решение на ЭВМ этих задач значительно проще рассмотренных. Алгоритмы их решения представляют собой линейныеструктуры и поэтому могут быть решены пользователями без дополнительных пояснений.Представленное пособие может послужить основой для работыстудентов и специалистов, занимающихся расчетами параметров объектов на ЭВМ.
Для углубления знаний необходимо дополнительнопроработать публикации по методам расчетов, по составлению программ для ЭВМ.225БИБЛИОГРАФИЧЕСКИЙ СПИСОК1. Персон Р. Microsof Excel 97 в подлиннике: В 2 т.; пер. с англ.СПб.: ВНV Санкт-Петербург, 1997.2. Джон Уокентабах. Microsof Excel 2000. Библия пользователя;пер. с англ.: Уч. пос. М.: Издательский дом “Вильямс”, 2001.873 с., ил.3. Microsof Corporation. Руководство программиста по VisualBasic для Microsof Office 97: Пер.
с англ. М.: Издательский отдел "Русская редакция " ТОО "Сhannel Trading Ltd.", 1997. 544 с., ил.4. Санна П. Visual Basic для приложений (версия 5) в подлиннике:пер. с англ. СПб.: BHV-Санкт-Перербург, 1998 . 304 с., ил.5. Андерсон Т. Visual Basic: Пер. с англ. М.: ЗАО "ИздательствоБИНОМ", 1998. 224 с., ил.6.
ЕСПД. Схемы алгоритмов программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90. ГК СССРУКПС. М., 1991. 26 с.7. Король В. И. Visual Basic 6.0. Visual Basic for Application 6.0.Язык программирования. Справочник с примерами. Издание второе,исправленное. М.: КУДИЦ-ОБРАЗ, 2000. 448 с.8. Левитский Н. И. Теория механизмов и машин. М.: Наука,1979.- 576 с.9. Кудрявцев Е.
М. Исследование операций в задачах, алгоритмахи программах. М.: Радио и связь, 1984, 184 с.10. Поляк Э. Численные методы оптимизации. М.: Мир, 1974. 376с.11. Хог Э., Арора Я. Прикладное оптимальное проектирование:Механические системы и конструкции: Пер. с англ. М.: Мир, 1983.478 с.12. Рейклетис Г., Рейвиндран А., Регсдел К. Оптимизация в технике: В 2-х кн. Пер. с англ.
М., 1983; кн.1 - 349 с., кн. 2 - 320 с.13. Ильский А. Л., Миронов Ю. В., Чернобыльский А. Г. Расчет иконструирование бурового оборудования: Учебное пособие для вузов.М: Недра, 1985. - 452 с.226Учебное изданиеВиктор Степанович ШестаковРасчет на ЭВМ параметровнефтегазового оборудованияУчебное пособиеРедактор Ж.И. ПионтикКомпьютерная верстка В.С.ШестаковПодписано в печать 2011 г. Бумага писчая. Формат 60х84 1/16Печать на ризографе.
Гарнитура Times New RomanПеч. л. 14,18. Уч.-изд.л. 13,94. Тираж 100. Заказ №Издательство УГГУ620144, г. Екатеринбург, ул. Куйбышева, 30227.