Muhammad al Xorazmiy nomidagi
Toshkent Axborot Texnologiyalari Universiteti
laboratoriya ishi
Mavzu: Chiziqli dasturlash masalalari va ularni yechish algoritmlari
Fan: Algoritim va loyihalash
Bajardi: Abdimannonov Asror
Tekshirdi: Begimov Oybek
Laboratoriya ishiga quyiladigan talablar.
Titul varog‘i
1. Chiziqli dasturlash masalasi matematik modeli keltirilsin (qo’lda)
2. Variant berilishi keltirilsin;
3. Variant bo’yicha matematik model tuzilsin;
4. Mumkin bo’gan yechimlar sohasi geometrik usulda topilsin;
5. Tayanch yechimlar orasidan optimal yechimi ajratilsin;
6. Variantdagi masala uchun egizak masala tuzilsin va mumkin bo’lgan yechimlar sohasi topilsin;
7. Variant bo’yicha tuzilgan matematik model kanonik ko’rinishga keltirilsin va unga mos simpleks jadval tuzilsin;
8. Masala simpleks usulda yechilsin (Exsel dasturi yordamida va qo’lda);
9. Simpleks usulni umumiy algoritmini keltirilsin (qo’lda);
10.Masalani simpleks usulda yechish dasturi yozilsin va natija (yechim) olinsin;
11.Variant bo’yicha tuzilgan matematik modelga mos iqtisodiy masala tuzilsin va izohlansin.
Xulosa
Max
Egizak Masala Min
Dastur kodi:
#include
using namespace std;
int main(){
int a=4,b=7,d,stl,str,baz[10],f,g=0,i,j,l=0,q=0,z=0,y=0,xx,zl[10];
float m,tab[4][7]={{169,7,5,3,1,0,0},{139,3,4,6,0,1,0},{106,2,3,5,0,0,1},{0,-20,-23,-22,0,0,0}}
,min=1000,c[10],tabl[10][10],x=1000;
cout<<"birinchi iteratsiya"<for(i=0;ifor(j=0;jcout<}
cout<k:
l=0;
for(i=0;iif(tab[a-1][i]<0){
l=l+1;
}
}
if(l==0){
for(j=1;jint kol=0,nol=0,ind;
for(i=0;iif(tab[i][j]==1){kol++;ind=i;
}
else nol++;
}
if((kol==l)&&(a-nol==2))
cout<<"x="<} cout<<"yechim optimal"<for(i=0;ifor(j=0;j{cout<cout<<"F(x)="<return 0;
}
x=1000;
for(i=1;iif(tab[a-1][i]<=x){x=tab[a-1][i];
stl=i;
}
}
for(j=0;jif(tab[j][stl]>0)
c[j]=tab[j][0]/tab[j][stl];
else c[j]=1000;
}
cout<cout<<"kalit qatorni topish uchun massiv"<for(j=0;jcout<}
cout<for(i=0;i<(a-1);i++)
if(c[i]min=c[i];
str=i;
}
cout<cout<<"kalit ustim va kalit qator"<cout<cout<cout<<"kalit element:"<cout<for(i=0;ifor(j=0;jtabl[i][j]=tab[i][j]-(tab[i][stl]*tab[str][j]/tab[str][stl]);
tabl[i][stl]=0;
tabl[str][stl]=1;
tabl[str][j]=tab[str][j]/tab[str][stl];
}
}
for(i=0;ifor(j=0;jtab[i][j]=tabl[i][j];
}}
goto k;
return 0;
}
Dastur natijasi:
Qizil, Sariq va Yashil ferrari ishlab chiqarish uchun 3 xil ehtiyot qisimdan foydalaniladi. Bitta ferrarini ishlab chiqarish uchun sarflanadgan turli ehtiyot qisimlar miqdori, homashyo zahirasi hamda ferrarini sotishdan olinadigan daromadlar quyidagi jadvalda keltirilgan:
Maxsulot turi sarf qilinadigan maxsulot miqdori maxsulot zahirasi
Qizil, Sariq va Yashil ferrari
|
7
|
5
|
3
|
169
|
|
3
|
4
|
6
|
139
|
|
2
|
3
|
5
|
106
|
Ferraridan olinadigan daromad 20 23 22
Maksimal daromad olish uchun ferraridan qancha miqdordan sotish kerak?
Xulosa
Bu labaratoriya ishida Chiziqli dasturlash masalalari va ularni yechish algoritmlari Mavzusi bo’yicha optimal yechim topish masalani egizak masala tuzdim, c++ da dastur kodini tuzdim, exzel da simpleks usulda optimal yechimni topishni o’rgandim.
Do'stlaringiz bilan baham: |