Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Реалізація алгоритму симплекс-методу з довільними вільними членами

Реферат Реалізація алгоритму симплекс-методу з довільними вільними членами





розміром num_l.

i_lrow=індекс провідного рядка поточного плану.

alm - дозволяє елемент, що знаходиться на перетині ведучого шпальти і ведучою рядка. :: stringstream table - об'єкт класу std :: stringstream, який містить весь користувальницький висновок у вихідний файл.

Власне, зараз були розглянуті призначення кожної змінна-члена класу simplex. Весь алгоритм обчислення вищенаведених значень проводиться у файлі simplex.cpp.

Лістинг 4. simplex.cpp


# include lt; iostream gt;

# include lt; cmath gt;

# include lt; fstream gt;

# include lt; sstream gt;

# include lt; string gt;


# include user_data.h

# include simplex.h

std :: cout; std :: endl;

simplex :: init ()

{i, j;=0;=new double * [num_l]; (i=0; i lt; num_l; i ++) [i]=new double [num_v * 2]; (i =0; i lt; num_l; i ++) {(j=0; j lt; num_v; j ++) [i] [j]=system [i] [j]; (; j lt; num_v * 2; j ++) ( i + num_v == j) (way) [i] [j]=1; [i] [j]=- 1; [i] [j]=0;

}=new double [num_v * 2];=new double * [num_l]; (i=0; i lt; num_l; i ++) {[i]=new double [2]; [ i] [0]=i + num_v; [i] [1]=fm [i];

} (i=0; i lt; num_v * 2; i ++) (i lt; num_v) [i]=function [i] * - 1; [i]=0; _lcol=0 ; (i=0; i lt; num_v * 2 - 1; i ++) {(istr [i] lt; 0) (fabs (istr [i + 1]) gt; fabs (istr [i])) _ lcol=i + 1;

}=new double [num_l]; (i=0; i lt; num_l; i ++) [i]=bv [i] [1]/sv [i] [i_lcol]; _ lrow= 0; (i=0; i lt; num_l - 1; i ++) (th [i] gt; th [i + 1]) _ lrow=i + 1;=sv [i_lrow] [i_lcol]; _ result_to_file (0);

} simplex :: plane_is_valid ()

{i; result=true; (way) (i=0; i lt; num_v * 2; i ++) (istr [i] lt; 0) {= false ;;

} (! way) (i=0; i lt; num_v * 2; i ++) (istr [i] gt;=0) {= false ;;

}

result;

} simplex :: function_is_undefined ()

{i; (i=0; i lt; num_l; i ++) (th [i] lt; 0) {false;

} true;

} simplex :: gen_plane ()

{i, j, it_num=0; A, B; (! plane_is_valid () amp; amp; function_is_undefined ()) {= bv [i_lrow] [1];=istr [i_lcol];-=A * B/alm; * tmp_bv=new double [num_l]; [i_lrow] [0]=i_lcol;=bv [i_lrow] [1]; (i=0; i lt; num_l; i ++) {= sv [i] [i_lcol]; _ bv [i]=bv [i_lrow] [1]; (i!=i_lrow) _bv [i]=bv [i] [1] - A * B/alm; _bv [i]/=alm;

} (i=0; i lt; num_l; i ++) [i] [1]=tmp_bv [i]; * tmp_istr=istr;=istr [i_lcol]; (i=0; i lt; num_v * 2; i ++) {= sv [i_lrow] [i]; _ istr [i]=istr [i] - A * B/alm;

}=tmp_istr; ** tmp_sv=new double * [num_l]; (i=0; i lt; num_l; i ++) _ sv [i]=new double [num_v * 2]; (i =0; i lt; num_l; i ++) (j=0; j lt; num_v * 2; j ++) {_sv [i] [j]=sv [i] [j];=sv [i_lrow] [j]; =sv [i] [i_lcol]; (i == i_lrow) _sv [i] [j] /=alm; _sv [i] [j]=sv [i] [j] - A * B/alm;

}=tmp_sv; _lcol=0; (i=0; i lt; num_l; i ++) [i]=bv [i] [1]/sv [i] [i_lcol]; _ lrow= 0; (i=0; i lt; num_l - 1; i ++) (th [i] gt; th [i + 1]) _ lrow=i + 1;=sv [i_lrow] [i_lcol]; _ num ++; _ result_to_file (it_num );

} (! function_is_undefined ()) lt; lt; " nЦелевая фукнція не обмежена, дана задача рішень не

має n" lt; lt; endl;

else { lt; lt; nf (x)= lt; lt; func lt; lt; n lt; lt; endl; (i=0; i lt; num_l; i ++) { lt; lt; x lt; lt; bv [i] [0] + 1 lt; lt; = Raquo; lt; lt; bv [i] [1] lt; lt; endl;

} lt; lt; nВсе обчислення були записані у файл table.txt n lt; lt; endl;

}

} simplex :: print_result_to_file (int it_num)

{i, j; (! it_num) {

table lt; lt; Задана цільова функція: n lt; lt; endl;

std :: stringstream f_x; _x lt; lt; f (x)= raquo ;; (i=0; i lt; num_v; i ++) {(! i) _x lt; lt; function [i] lt; lt; x lt; lt; i + 1 lt; lt; raquo ;; {(function [i] lt; 0) _x lt; lt; - lt; lt; fabs (function [i]) lt; lt; x lt; lt; i + 1 lt; lt; raquo ;; (function [i] gt; 0) _x lt; lt; + lt; lt; function [i] lt; lt; x lt; lt; i + 1 lt; lt; raquo ;;

}

} :: string minmax; (way)= max raquo ;;= min raquo ;; _ x lt; lt; = gt; lt; lt; minmax lt; lt; n lt; lt; endl;

table lt; lt; ...


Назад | сторінка 4 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Аналіз процесу формування та просування бренду (на прикладі підприємства &S ...
  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure
  • Реферат на тему: The stylistic function of the English article