Разработка информационной системы выбора наилучшего склада мебельной продукции
Заказать уникальную курсовую работу- 20 20 страниц
- 7 + 7 источников
- Добавлена 21.06.2021
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
ВВЕДЕНИЕ 3
1 РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ВЫБОРА НАИЛУЧШЕГО СКЛАДА МЕБЕЛЬНОЙ ПРОДУКЦИИ 4
1.1 Постановка задачи 4
1.2 Обоснование выбора метода решения 5
2 РЕАЛИЗАЦИЯ ВЫБОРА НАИЛУЧШЕГО СКЛАДА МЕБЕЛЬНОЙ ПРОДУКЦИИ 6
2.1 Сужение множества альтернатив по Парето 6
2.2 Алгоритмы поиска наилучшего варианта выбора наилучшего склада мебельной продукции 13
2.3 Описание программной реализации 14
2.4 Анализ результатов выбора 15
ЗАКЛЮЧЕНИЕ 18
ЛИТЕРАТУРА 19
ПРИЛОЖЕНИЕ 1 20
ЛИСТИНГ ПРОГРАММЫ НА ЯЗЫКЕ С В СРЕДЕ EMBERCADERRO RAD STUDIO 20
доступность" ;StringGrid1->Cells[4][0]= "Многоярусность" ;StringGrid1->Cells[5][0]= "Температурныйрежим" ;StringGrid1->Cells[6][0]= "Влажностныйрежим" ;StringGrid1->Cells[7][0]= "Стоимостьаренды" ;StringGrid1->RowCount=SpinEdit1->Value+1;inti;for(inti = 1; i < StringGrid1->RowCount; i++)StringGrid1->Cells[0][i]= "Вариант " + IntToStr(i) ;MainForm->PageControl1->ActivePageIndex=1;}//---------------------------------------------------------------------------void __fastcallTMainForm::SpinEdit1Change(TObject *Sender){// формирование вариантов в зависимости от количестваStringGrid1->RowCount=SpinEdit1->Value+1;inti;for(inti = 1; i < StringGrid1->RowCount; i++)StringGrid1->Cells[0][i]= "Вариант " + IntToStr(i) ;}//---------------------------------------------------------------------------void __fastcallTMainForm::PageControl1Change(TObject *Sender){// настройка активной таблицыinti,j;if (MainForm-> PageControl1->ActivePage==TabSheet2 ){ StringGrid2->RowCount=StringGrid1->RowCount; StringGrid2->ColCount=StringGrid1->ColCount;for(inti = 0; i <= StringGrid1->RowCount; i++)for(int j = 0; j <= StringGrid1->ColCount; j++) StringGrid2->Cells[j][i]= StringGrid1->Cells[j][i];}if (MainForm-> PageControl1->ActivePage==TabSheet3 ){ StringGrid3->RowCount=StringGrid2->RowCount; StringGrid3->ColCount=StringGrid2->ColCount;for(inti = 0; i <= StringGrid2->RowCount; i++)for(int j = 0; j <= StringGrid2->ColCount; j++) StringGrid3->Cells[j][i]= StringGrid2->Cells[j][i];}}//---------------------------------------------------------------------------void __fastcallTMainForm::RadioButton2Click(TObject *Sender){ // сужениемножестваПареттоint A[StringGrid2->RowCount][StringGrid2->ColCount];int B[StringGrid2->RowCount][StringGrid2->ColCount];MainForm->Memo1->Visible=true;for(inti = 1; i < StringGrid2->RowCount; i++)for(int j = 1; j < StringGrid2->ColCount; j++) A[i][j]=StrToInt(StringGrid2->Cells[j][i]);intk,t,m,v;int p;boolean flag;int C[StringGrid2->ColCount];int W[StringGrid2->RowCount];for(int v = 1; v < StringGrid2->RowCount; v++){ W[v]=1; }for(int k = 1; k < StringGrid2->RowCount; k++) {for(int t = 1; t < StringGrid2->RowCount;t++)if (k !=t) {for(int v = 1; v < StringGrid2->ColCount; v++){ C[v]=0; }for(int m = 1; m < StringGrid2->ColCount; m++){ if (A[k][m] <=A[t][m]){//flag=true;C[m]=1;} else {C[m]=0; }} p=1;for(int v = 1; v < StringGrid2->ColCount; v++) {p=p*C[v];} if (p==1) { Memo1->Lines->AddStrings(IntToStr(t)+" доминирует "+IntToStr(k)); W[k]=0; } }} for (inti=1; i <= StringGrid2->ColCount; i++) { StringGrid2->Cols[i]->Clear();} StringGrid2->RowCount=StringGrid1->RowCount; StringGrid2->ColCount=StringGrid1->ColCount;intsch=0;for(inti = 0; i <= StringGrid1->RowCount; i++)if (W[i] !=0){for(int j = 0; j <= StringGrid1->ColCount; j++) { StringGrid2->Cells[j][sch]= StringGrid1->Cells[j][i]; }sch=sch+1; }StringGrid2->RowCount= sch-1; }//---------------------------------------------------------------------------void __fastcallTMainForm::Button3Click(TObject *Sender){// закрытиеприложенияMainForm->Close();}//---------------------------------------------------------------------------void __fastcallTMainForm::RadioButton1Click(TObject *Sender){// востановлениеисходныхданных StringGrid2->RowCount=StringGrid1->RowCount; StringGrid2->ColCount=StringGrid1->ColCount;for(inti = 0; i <= StringGrid1->RowCount; i++)for(int j = 0; j <= StringGrid1->ColCount; j++) StringGrid2->Cells[j][i]= StringGrid1->Cells[j][i];MainForm->Memo1->Clear();MainForm->Memo1->Visible=false;}//---------------------------------------------------------------------------void __fastcallTMainForm::CheckBox1Click(TObject *Sender){ // запускметодацелевогопрограммированияintMax_elem[StringGrid2->RowCount][StringGrid2->ColCount]; String ff;ff=""; if (MainForm->CheckBox1->Checked) {MainForm->RadioButton3->Visible=true;MainForm->RadioButton4->Visible=true;for(inti = 1; i <= StringGrid2->RowCount-1; i++)for(int j = 1; j <= StringGrid2->ColCount-1; j++){ Max_elem[i][j]= StrToInt(StringGrid3->Cells[j][i]);}int Maximus[StringGrid2->ColCount-1];for(int j = 1; j <= StringGrid2->ColCount-1; j++){ int MAXX=Max_elem[1][j];for(inti = 1; i <= StringGrid3->RowCount-1; i++) {if (MAXX<=Max_elem[i][j]) { MAXX= Max_elem[i][j];}}Maximus[j]=MAXX; }// формирование вектора целиStringGrid4->RowCount=StringGrid2->RowCount; StringGrid4->ColCount=StringGrid2->ColCount;StringGrid4->Cells[0][0]="Векторцели";for(inti = 1; i < StringGrid3->RowCount; i++)StringGrid4->Cells[0][i]= StringGrid3->Cells[0][i];for(int j = 1; j <= StringGrid1->ColCount-1; j++) { StringGrid4->Cells[j][0]=IntToStr(Maximus[j]); }int Ocenka1[StringGrid2->RowCount-1], Ocenka2[StringGrid2->RowCount-1]; float OcenkaFloat2[StringGrid2->RowCount-1];MainForm->Memo2->Clear();// формирование оценки по метрике Чебышеваif (RadioButton3->Checked){for(inti = 1; i <= StringGrid2->RowCount-1; i++){ Ocenka1[i]=0;for(int j = 1; j <= StringGrid2->ColCount-1; j++) {StringGrid4->Cells[j][i]=IntToStr(Maximus[j]-Max_elem[i][j]);Ocenka1[i]=Ocenka1[i]+(Maximus[j]-Max_elem[i][j]); }MainForm->Memo2->Lines->AddStrings(StringGrid4->Cells[0][i]+" ---> "+StrToInt(Ocenka1[i]));}String FF;FF=" Наилучший вариант ";MainForm->Memo2->Lines->AddStrings(FF);intMinOcenka=1;intMinVar = Ocenka1[1];for(inti = 1; i <= StringGrid2->RowCount-1; i++){ if (MinVar>=Ocenka1[i]) {MinVar= Ocenka1[i];MinOcenka=i;} } MainForm->Memo2->Lines->AddStrings(StringGrid4->Cells[0][MinOcenka]+" ---> "+StrToInt(Ocenka1[ MinVar]));}//Формирование оценки по среднеквадратичной метрикеif (RadioButton4->Checked){for(inti = 1; i <= StringGrid2->RowCount-1; i++){ Ocenka2[i]=0;for(int j = 1; j <= StringGrid2->ColCount-1; j++) { StringGrid4->Cells[j][i]=IntToStr((Maximus[j]-Max_elem[i][j])*(Maximus[j]-Max_elem[i][j])); Ocenka2[i]=Ocenka2[i]+(Maximus[j]-Max_elem[i][j])*(Maximus[j]-Max_elem[i][j]); } OcenkaFloat2[i]=Sqrt(Ocenka2[i]);MainForm->Memo2->Lines->AddStrings(StringGrid4->Cells[0][i]+" ----> "+FloatToStr(OcenkaFloat2[i]));}String FF;FF=" Наилучший вариант ";MainForm->Memo2->Lines->AddStrings(FF);intMinOcenka=1; float MinVarFloat = OcenkaFloat2[1];for(inti = 1; i <= StringGrid2->RowCount-1; i++){ if (MinVarFloat>=OcenkaFloat2[i]) {MinVarFloat= OcenkaFloat2[i];MinOcenka=i;}}MainForm->Memo2->Lines->AddStrings(StringGrid4->Cells[0][MinOcenka]+" ----> "+FloatToStr(OcenkaFloat2[MinOcenka])); } }}//---------------------------------------------------------------------------void __fastcallTMainForm::RadioButton3Click(TObject *Sender)// активация метода целевого программирования для пересчета// при изменении условий{MainForm->CheckBox1Click(Sender);}//---------------------------------------------------------------------------void __fastcallTMainForm::RadioButton4Click(TObject *Sender){// активация метода целевого программирования для пересчета// при изменении условийMainForm->CheckBox1Click(Sender);}//---------------------------------------------------------------------------
1. Ногин В.Д. Обобщенный принцип Эджворта-Парето и границы его применимости// Экономика и математические методы, 2005, т. 41, № 3, С. 128-134.
2. Ногин В.Д. Принцип Эджворта-Парето в терминах нечеткой функции выбора// Журнал вычислительной математики и математической физики, 2006, т. 46, № 4, с. 582–591.
3. Плаус С. Психология оценки и принятия решений. – М.: «Филинъ», 1998.
4. Подиновский В.В. Об относительной важности критериев в многокритериальных задачах принятия решений. – В сб. «Многокритериальные
5. задачи принятия решений», М.: Машиностроение, 1978, с. 48-82.
6. Саати Т., Кернс . Аналитическое планирование. Организация систем. – М.: Радио и связь, 1991.
7. Розен В.В. Цель – оптимальность – решение. М.: Радио и связь, 1982.
Вопрос-ответ:
Зачем нужна информационная система выбора наилучшего склада мебельной продукции?
Информационная система выбора наилучшего склада мебельной продукции позволяет определить наиболее подходящий склад для хранения и распределения мебельной продукции на основе различных критериев, таких как удаленность, вместимость, стоимость и т. д. Это помогает оптимизировать процесс управления складскими запасами и улучшить сроки доставки и обслуживания клиентов.
Какая задача стоит перед разработчиками информационной системы выбора наилучшего склада мебельной продукции?
Задача разработчиков информационной системы выбора наилучшего склада мебельной продукции состоит в создании программного продукта, который бы позволил автоматизировать процесс выбора наиболее подходящего склада для хранения и распределения мебельной продукции на основе заданных критериев. Это включает в себя разработку алгоритмов и методов поиска оптимальных решений.
Каким образом система сужает множество альтернатив по Парето при выборе наилучшего склада мебельной продукции?
Система сужает множество альтернатив по Парето путем анализа и оценки критериев, определенных для выбора наилучшего склада. Она исключает из рассмотрения альтернативы, которые не являются оптимальными по всем критериям. Таким образом, остаются только те варианты, которые представляют собой компромиссное решение и удовлетворяют всем заданным условиям.
Какие алгоритмы используются при поиске наилучшего варианта выбора склада мебельной продукции?
При поиске наилучшего варианта выбора склада мебельной продукции могут использоваться различные алгоритмы, такие как генетический алгоритм, метод главных компонент, методы математического программирования (например, линейное программирование). Эти алгоритмы позволяют оптимизировать процесс выбора склада, учитывая различные факторы, такие как удаленность, вместимость, стоимость и другие.
Какая задача решается в статье "Разработка информационной системы выбора наилучшего склада мебельной продукции"?
В статье рассматривается разработка информационной системы, которая позволяет выбирать наилучший склад для хранения мебельной продукции.
Какой метод решения был выбран для разработки информационной системы?
Методом решения, выбранным для разработки информационной системы, является сужение множества альтернатив по Парето.
Какие алгоритмы используются для выбора наилучшего варианта склада мебельной продукции?
В статье описываются алгоритмы поиска наилучшего варианта выбора наилучшего склада мебельной продукции.
Какие результаты были получены в результате выбора наилучшего склада мебельной продукции?
Результаты выбора наилучшего склада мебельной продукции были проанализированы и описаны в статье.
Какую программную реализацию описывает статья "Разработка информационной системы выбора наилучшего склада мебельной продукции"?
Статья описывает программную реализацию информационной системы выбора наилучшего склада мебельной продукции.
Какой метод решения был использован при разработке информационной системы выбора наилучшего склада мебельной продукции?
При разработке информационной системы был выбран метод сужения множества альтернатив по Парето.
Какие алгоритмы используются при выборе наилучшего варианта склада мебельной продукции?
Для выбора наилучшего варианта склада мебельной продукции используются алгоритмы поиска, основанные на методе сужения множества альтернатив по Парето.