private void buttonComputePenalty_Click(object sender, EventArgs e)
 {
     try
     {
         double eps, epsGrad, a, step;
         if (!Double.TryParse(textBoxEps.Text, out eps))
         {
             throw new Exception("Неверный формат погрешности для метода штрафных функций");
         }
         if (!Double.TryParse(textBoxEpsGrad.Text, out epsGrad))
         {
             throw new Exception("Неверный формат погрешности для метода наискорейшего спуска");
         }
         if (!Double.TryParse(textBoxAlpha.Text, out a))
         {
             throw new Exception("Неверный формат штрафного коэффициента");
         }
         if (!Double.TryParse(textBoxStep.Text, out step))
         {
             throw new Exception("Неверный формат шага");
         }
         PenaltyMethod pm  = new PenaltyMethod(prob, solutionsF, simplexXOpt[0], eps, epsGrad, a, step);
         ResultsForm   res = new ResultsForm(pm, simplexXOpt);
         res.Show();
     }
     catch (Exception exc)
     {
         MessageBox.Show(exc.Message);
     }
 }
 public ResultsForm(PenaltyMethod pm, List <double[]> simplexXOpt)
 {
     InitializeComponent();
     this.penalty     = pm;
     this.simplexXOpt = simplexXOpt;
     sw   = Stopwatch.StartNew();
     xOpt = pm.Calculate();
     sw.Stop();
     WriteResults();
     label1.Text = "Время работы программы: " + sw.Elapsed.ToString(@"m\:ss\.ff");
 }