public static void main(String[] args) 
            throws SQLException, ClassNotFoundException, Exception 
    {
        String dbName = "resources/data.sqlite";
        String qName = "resources/data.sql";
        
        double[] alphas;
        if(args.length == 0)
        {
            /**
             * Запилить запуск с гуями
             */
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
            
           
            oilopt.gui.MainWindow window = new oilopt.gui.MainWindow();
            window.setVisible(true);
            
            solver = new ProblemSolver(dbName, qName);
            
            
            oilopt.gui.ORMGrid goodGrid 
                    = new oilopt.gui.ORMGrid(
                        oilopt.orm.Good.class, 
                        (Object[])solver.problemData.goods.toArray());
            goodGrid.setVisible(true);
            
            oilopt.gui.ORMGrid resourceGrid
                    = new oilopt.gui.ORMGrid(
                        oilopt.orm.Resource.class, 
                        (Object[])solver.problemData.resources.toArray());
            resourceGrid.setVisible(true);
            
            oilopt.gui.ORMGrid toolGrid
                    = new oilopt.gui.ORMGrid(
                        oilopt.orm.Tool.class, 
                        (Object[])solver.problemData.tools.toArray());
            toolGrid.setVisible(true);
            
        }
        else
        {
            alphas = new double[args.length];
            for(int i = 0; i < args.length; ++i)
            {
                String arg = args[i];
                double val;
                boolean percent = false;
                String lol = arg;
                if(arg.charAt(arg.length()-1) == '%')
                {
                    percent = true;
                    lol = arg.substring(0, arg.length()-1);
                }
                    
                try{
                    val = Double.parseDouble(lol);
                    
                }
                catch(NumberFormatException e)
                {
                    System.out.print(usage);
                    return;
                }
                
                if(percent)
                    val /= 100;
                
                alphas[i] = val;
                
            }
            
            solver = new ProblemSolver(dbName, qName);
            
            generateOutput(alphas);
        }
        
        
    }