Деформированный симплекс метод для расчета шихты доменной печи. курсовая работа дифф симплекс. Курсовая работа по дисциплине Моделирование процессов и объектов в металлургии на тему Оптимизация объектов исследования методом деформируемого симплекса
Скачать 66.86 Kb.
|
Старооскольский технологический институт (филиал) Московского государственного института стали и сплавов (Технологического университета) КУРСОВАЯ РАБОТА по дисциплине «Моделирование процессов и объектов в металлургии» на тему «Оптимизация объектов исследования методом деформируемого симплекса» Выполнил: студент группы МЧМ-04-зс Принял: Старый Оскол 2007 Содержание Задание на курсовую работу.......................................................................3 Теоретические основы.................................................................................3 Выбор метода решения задачи...................................................................4 Описание алгоритма....................................................................................7 Блок-схема алгоритма метода деформируемого симплекса....................8 Программа решения задачи........................................................................9 Результаты расчета......................................................................................12 Вывод............................................................................................................12 Литература....................................................................................................13 Задание на курсовую работу В доменную печь загружается N тонн агломерата. Определить оптимальный гранулометрический состав шихты, обеспечивающий наибольшую газопроницаемость слоя. Оценить газопроницаемость слоя можно по условию: (1) т.е. чем меньше соотношение (1), тем больше газопроницаемость. Теоретические основы Порозность слоя определяется по экспериментальной зависимости: (2) Средний диаметр мелких частиц (dM) для обычной загрузки составляет 3,5 мм, с учетом того, что размер мелкой фракции не превышает 7 мм. Средний диаметр крупных частиц (dК), включающих частицы диаметром не менее 25 мм, определяется по выражению: (3) где и – величины диаметров частиц, ограничивающих i-тую фракцию, м; ki – содержание i-той фракции в завалке, %; m – количество учитываемых фракций. Объем мелочи определяется для частиц диаметром не более 7 мм по выражению: (4) где kn и ρn – процентное содержание и плотность мелочи. Объем всей завалки: (5) где n – число фракций в завалке. Объемная доля мелочи в завалке: (6) Выбор метода решения задачи Для решения поставленной многомерной оптимизационной задачи можно использовать симплекс-метод. Симплекс в k-мерном факторном пространстве представляет собой замкнутую геометрическую фигуру, образованную k+1 вершинами, соединенными между собой прямыми линиями. Координаты вершин симплекса являются значениями факторов в отдельных опытах. Основное свойство симплекса состоит в том, что отбрасыванием одной из его вершин и построением новой вершины, лежащей по другую сторону противоположной грани, получают новый симплекс. При последовательной постановке опытов в новых вершинах симплекс осуществляет шаговое перемещение в факторном пространстве. При поиске оптимума отбрасывается вершина, имеющая наихудший отклик объекта моделирования. Новая вершина получается отражением худшей вершины относительно противолежащей грани. Отражение худшей вершины позволяет постепенно смещаться в сторону оптимума. Окончание процесса отражения худших вершин и постановки очередных опытов наступает в следующих случаях: Разность значений выхода объекта в вершинах симплекса становится меньше наперед заданного числа. Это означает либо выход в стационарную область вблизи оптимума, либо достижение поверхности в виде плато вне экстремума. Отражение любой вершины симплекса после однократного качания приводит к его возврату в прежнее положение. При этом есть основание утверждать о перекрытии точки оптимума симплексом. Циклическое движение симплекса вокруг одной из его вершин. Это наблюдается при расположении оптимума внутри области, охватываемой циркулирующим симплексом. В первом случае надо провести дополнительный опыт в стороне от симплекса и удостовериться в отсутствии участков с более существенной кривизной поверхности. Во втором и третьем случаях рекомендуется уменьшить размеры симплекса и продолжить поиск до желаемого уточнения координат искомого оптимума. Расчетное построение начального симплекса базируется на следующих формулах: , (7) где X – координата вершины; i – номер фактора; i = 1,..., k; j – номер вершины симплекса; j = 1,..., k+1; k – количество факторов; А – расстояние между симплексами. . (8) Для ускорения процесса поиска оптимума существует модификация симплексного метода, называемая "методом деформируемого симплекса". Ускорение процесса поиска оптимума осуществляется за счет использования информации, накопленной на предыдущих шагах. Сущность метода заключается в том, что при отражении наихудшей вершины относительно центра тяжести противолежащей грани симплекс растягивается или сжимается. Для пояснения введем координату центра тяжести остальных (за исключением наихудшей) вершин симплекса: (9) Наихудшая вершина симплекса нормально отражается в точку, координаты которой определяются: (10) В этой точке ставится опыт и определяется f(X*). Затем ставится следующий опыт в точке факторного пространства, определяемой по выражению: (11) где δ – коэффициент деформации симплекса. Обозначим перед очередным шагом симплекса: f(Xf) – наихудший отклик; f(X1)–отклик, следующий за наихудшим; f(Xd) – наилучший отклик; f(X*) – отклик после нормального отражения. Выбор значения δ при поиске минимума осуществляется исходя из данных таблицы 1. Если точка X** по выходу оказывается не лучше наихудшей из вершин симплекса, то очередной опыт целесообразно ставить на половине расстояния до наилучшей точки симплекса: . (12) Таблица 1. Определение коэффициента деформации симплекса.
Симплексы расширяются в направлении наклона поверхности отклика, их оси поворачиваются при встрече с впадиной и сжимаются вблизи оптимума, что позволяет учитывать рельеф поверхности отклика. Высокая эффективность и надежность опыта сохраняется и при наличии случайных помех. Описание алгоритма 1. Составить программу, содержащую следующие этапы: ввод исходных данных; построение начального симплекса, постановка опыта в его вершинах, отыскание наихудшего и наилучшего откликов; построение нормального отражения худшей вершины и определение в ней отклика по выражению (10); сравнение f(X*) и наилучшего отклика; если f(X*) лучше этого отклика, то построить точку расширения симплекса и определить ; в противном случае построить точку сжатия и определить по выражению (11); в зависимости от того, расширение или сжатие симплекса осуществлялось на предыдущем этапе, выполнить: сравнение с f(Xf), если отклик на сжатие лучше f(Xf), то новая вершина имеет координату , в противном случае нахождение X*** по (12) и определение f(X***); сравнение с f(X*), если лучше f(X*), то новая вершина имеет координату , в противном случае X* – новая вершина; оценка достижения оптимального значения; если оптимальное значение не достигнуто, то необходимо повторить процедуру расчета, приняв полученный симплекс за начальный; вывод результатов расчета на печать. 2. Произвести расчет. Вариант задания
= 40 мм; = 40 мм; = 25 мм; = 25 мм; = 7 мм; d4 < 7 мм; N = 25 т; ρ1=1500 кг/м3; ρ2 = 1600 кг/м3; ρ3 = 1700 кг/м3; ρ4 = 2000 кг/м3. При заданных условиях газопроницаемость равна ε = 0,256414. Блок-схема алгоритма метода деформируемого симплекса Программа решения задачи /*Kursovaya rabota*/ #include #include #include void main() { clrscr(); int i,j,h; float dk,vs,vm,m,a=5,k=4,d1[4]={40,40,25,0},d2[4]={90,25,7,0},ro[4]={1500,1600, 1700, 2000}, kx[4]={25,30,15,30},x[4][5],del1,del2,e[5],max,min,fx1,fz1,fz2,fz3, xd,xc[4],xz1[4],xz2[4],xz3[4],nov[4][5],d,sto,kkon[4],ex,eras,ekon,eps,n; del1=a*(pow(1+k,.5)+k-1)/k/sqrt(2); del2=a*(pow(1+k,.5)-1)/k/sqrt(2); for(j=0;j<5;j++) { for(i=0;i<4;i++) { if(i==j) x[i][j]=kx[i]+del2; else x[i][j]=kx[i]+del1; } } m1: for(j=0;j<5;j++) { dk=((d1[0]+d2[0])*x[0][j]+(d1[1]+d2[1])*x[1][j]+(d1[2]+d2[2])*x[2][j])/2/(x[0][j]+ x[1][j]+x[2][j]); vs=x[0][j]*250/ro[0]+x[1][j]*250/ro[1]+x[2][j]*250/ro[2]+x[3][j]*250/ro[3]; vm=(x[3][j]-3)*250/ro[3]; m=vm/vs; ex=.51-m*atan(1.83+12.2*(3.5/dk-.07)); e[j]=(1-ex)/pow(ex,3); } max=e[0];min=e[0]; for(j=0;j<5;j++) { if(e[j] if(e[j]>max) {max=e[j];n=j;} } fx1=min; for(j=0;j<5;j++) {if(max!=e[j]) {if(e[j] for(i=0;i<4;i++) { xd=0; for(j=0;j<5;j++) { if(j!=n) xd+=x[i][j]; } xc[i]=xd/4; } for(i=0;i<4;i++) {j=n; xz1[i]=2*xc[i]-x[i][j];} dk=((d1[0]+d2[0])*xz1[0]+(d1[1]+d2[1])*xz1[1]+(d1[2]+d2[2])*xz1[2])/2/(xz1[0]+ xz1[1]+xz1[2]); vs=xz1[0]*250/ro[0]+xz1[1]*250/ro[1]+xz1[2]*250/ro[2]+xz1[3]*250/ro[3]; vm=(xz1[3]-3)*250/ro[3]; m=vm/vs; fz1=.51-m*atan(1.83+12.2*(3.5/dk-.07)); fz1=(1-fz1)/pow(fz1,3); if(max if(fz1>fx1&&fz1>=min) d=-.5; if(fx1 if(fz1 for(i=0;i<4;i++) { xz2[i]=x[i][j]+(1+d)*(xc[i]-x[i][j]); } dk=((d1[0]+d2[0])*xz2[0]+(d1[1]+d2[1])*xz2[1]+(d1[2]+d2[2])*xz2[2])/2/(xz2[0]+ xz2[1]+xz2[2]); vs=xz2[0]*250/ro[0]+xz2[1]*250/ro[1]+xz2[2]*250/ro[2]+xz2[3]*250/ro[3]; vm=(xz2[3]-3)*250/ro[3]; m=vm/vs; fz2=.51-m*atan(1.83+12.2*(3.5/dk-.07)); fz2=(1-fz2)/pow(fz2,3); if(d!=1||d!=2) { if(fz2 else { for(i=0;i<4;i++){j=n;xz3[i]=.5*(xz2[i]+x[i][j]);} dk=((d1[0]+d2[0])*xz3[0]+(d1[1]+d2[1])*xz3[1]+(d1[2]+d2[2])*xz3[2])/2/ (xz3[0]+xz3[1]+xz3[2]); vs=xz3[0]*250/ro[0]+xz3[1]*250/ro[1]+xz3[2]*250/ro[2]+xz3[3]*250/ro[3]; vm=(xz3[3]-3)*250/ro[3]; m=vm/vs; fz3=.51-m*atan(1.83+12.2*(3.5/dk-.07)); eps=(1-fz3)/pow(fz2,3); for(i=0;i<4;i++){j=h;nov[i][j]=xz3[i];} } } else { if(fz2 else{for(i=0;i<4;i++){j=n;nov[i][j]=xz1[i];eps=fz1;}} } if((1-eps)/pow(eps,3)>.001){j=h;{for(i=0;i<4;i++){x[i][j]=nov[i][j];}}goto m1;} j=h; printf("\nraschet"); dk=((d1[0]+d2[0])*x[0][j]+(d1[1]+d2[1])*x[1][j]+(d1[2]+d2[2])*x[2][j])/2/(x[0][j]+ x[1][j]+x[2][j]); vs=x[0][j]*250/ro[0]+x[1][j]*250/ro[1]+x[2][j]*250/ro[2]+x[3][j]*250/ro[3]; vm=(x[3][j]-3)*250/ro[3]; m=vm/vs; eras=.51-m*atan(1.83+12.2*(3.5/dk-.07)); printf("\ne=%f",eras); for(i=0;i<4;i++) printf("\nk%d=%f",i+1,x[i][j]); printf("\nkonecnyi rezultat"); for(i=0;i<4;i++) sto+=x[i][j]; for(i=0;i<4;i++) kkon[i]=x[i][j]*100/sto; dk=((d1[0]+d2[0])*kkon[0]+(d1[1]+d2[1])*kkon[1]+(d1[2]+d2[2])*kkon[2])/2/(kkon[0]+ kkon[1]+kkon[2]); vs=kkon[0]*250/ro[0]+kkon[1]*250/ro[1]+kkon[2]*250/ro[2]+kkon[3]*250/ro[3]; vm=(kkon[3]-3)*250/ro[3]; m=vm/vs; ekon=.51-m*atan(1.83+12.2*(3.5/dk-.07)); printf("\ne=%f",ekon); for(i=0;i<4;i++) printf("\nk%d=%f",i+1,kkon[i]); } Результаты расчёта raschet e=0.281301 k1=29.628075 k2=34.628075 k3=19.628075 k4=31.092541 konecnyi rezultat e=0.284959 k1=25.768751 k2=30.117455 k3=17.071341 k4=27.042408 Вывод С помощью математической модели, использующей метод деформируемого симплекса для решения оптимизационной задачи, определён оптимальный гранулометрический состав шихты (агломерата) для доменной плавки, обеспечивающий наибольшую газопроницаемость слоя. По сравнению с заданным условием процентное содержание фракции с частицами диаметром 25 до 40 мм практически не изменилось; процентное содержание фракции с частицами диаметром от 40 до 60 мм увеличилось на 0,7%; процентное содержание фракции с частицами диаметром от 7 до 25 мм увеличилось приблизительно на 2%, на 3% содержание фракции с частицами диаметром менее 7 мм. Газопроницаемость слоя при этом увеличилась. Литература Организация металлургического эксперимента. Учебное пособие для вузов. Г.Е. Белай, В.В. Дембовский, О.В. Соценко / Под редакцией В.В. Дембовского. – М.: Металлургия, 1993. – 256 с. |