private void Implementation()
        {
            //создаём сиплекс-таблицу
            simplextable = new SimplexTable(number_of_basix, number_of_free_variables, variable_visualization, elements, target_function_elements, false);
            MainGrid.Children.Add(simplextable);
            //добавляем тильду
            simplextable.AddTilde();

            while (simplextable.ArtificialResponseCheck() != true)
            {
                if (simplextable.ResponseCheck() == 1)
                {
                    //холостой шаг
                    simplextable.RandomIdleStep();
                    this.Width = 720;
                    //Смена местами визуализаций переменных(после выбора опорного элемента) + буферизация.
                    simplextable.ChangeOfVisualizationVariables();
                    //вычисление согласно выбранному опорному элементу
                    simplextable.CalculateSimplexTable();
                    //обновление данных сиплекс-таблицы
                    simplextable.UpdateSimplexTableValues();
                    simplextable.CornerPoint(step);
                }
                else
                {
                    //выбор опорного
                    simplextable.SelectionRandomSupportElement();
                    this.Width = 651;
                    //Смена местами визуализаций переменных(после выбора опорного элемента) + буферизация.
                    simplextable.ChangeOfVisualizationVariables();
                    //вычисление согласно выбранному опорному элементу
                    simplextable.CalculateSimplexTable();
                    //обновление данных сиплекс-таблицы
                    simplextable.UpdateSimplexTableValues();
                    simplextable.CornerPoint(step);
                }
            }

            variable_visualization = simplextable.ReturnVariableVisualization();
            elements = simplextable.ReturnElements();
            elements.RemoveAt(elements.Count - 1);

            //организация массива для симплекс-метода
            List <List <double> > temp_elements = new List <List <double> >();

            for (int i = 0; i < number_of_basix; i++)
            {
                temp_elements.Add(new List <double>());
                for (int j = 0; j < number_of_basix; j++)
                {
                    if (temp_elements[i].Count == i)
                    {
                        temp_elements[i].Add(1);
                    }
                    else
                    {
                        temp_elements[i].Add(0);
                    }
                }
            }
            for (int i = 0; i < number_of_basix; i++)
            {
                temp_elements[i].AddRange(elements[i]);
            }

            elements = temp_elements;

            simplextable.HideSimplexTable();
            simplextable1 = new SimplexTable(number_of_basix, variable_visualization.Length - number_of_basix, variable_visualization, elements, target_function_elements, true);
            MainGrid.Children.Add(simplextable1);

            step = 0;

            while (simplextable1.ResponseCheck() != 1 && simplextable1.ResponseCheck() != -1)
            {
                //выбор опорного
                simplextable1.SelectionRandomSupportElement();
                //Смена местами визуализаций переменных(после выбора опорного элемента) + буферизация.
                simplextable1.ChangeOfVisualizationVariables();
                //вычисление согласно выбранному опорному элементу
                simplextable1.CalculateSimplexTable();
                //обновление данных сиплекс-таблицы
                simplextable1.UpdateSimplexTableValues();
            }

            if (simplextable1.ResponseCheck() == 1)
            {
                if (MinMax == 0)
                {
                    labelanswer.Content = "Ответ :" + simplextable1.Response() * (-1);
                }
                else
                {
                    labelanswer.Content = "Ответ :" + simplextable1.Response();
                }
                //добавляем точку
                corner_dot = simplextable1.ResponseCornerDot(step);
                MainGrid.Children.Add(corner_dot);
                buttonToMainWindow.Visibility = Visibility.Visible;
            }
            else
            {
                labelanswer.Content           = "Задача не разрешима!";
                buttonToMainWindow.Visibility = Visibility.Visible;
            }

            step++;
        }