Esempio n. 1
0
        # convert the input to simplex tableau
        print exit_mes
        print buf

        # do simplex method
        if input_ok:
            # split buffers to formulas
            formulas = [b.split() for b in buf]  # formulas[var_num] is ineq
            # make variables
            var_list = []
            for vi in range(var_num):
                var_list.append(Variable(0, False))
            for fe in formulas:
                var_list.append(
                    Variable(0, True, float(fe[var_num + 1]),
                             fe[var_num]))  # ineq type
            # make coefficient tableau
            row_list = []
            for ri in range(var_num):
                row_list.append(RowLine([0] * (var_num + for_num)))
            for i, fe in enumerate(formulas):
                tmp_f = [float(e) for e in fe[:var_num]]
                tmp_zeros = [0] * for_num
                tmp_zeros[i] = -1
                row_list.append(RowLine(tmp_f + tmp_zeros))
            # simplex tableau
            table = Tableau(var_list, row_list)
            # do simplex method
            table.simplex_method()
Esempio n. 2
0
        curses.endwin()

        # convert the input to simplex tableau
        print exit_mes
        print buf

        # do simplex method
        if input_ok:
            # split buffers to formulas
            formulas = [b.split() for b in buf]  # formulas[var_num] is ineq
            # make variables
            var_list = []
            for vi in range(var_num):
                var_list.append(Variable(0, False))
            for fe in formulas:
                var_list.append(Variable(0, True, float(fe[var_num + 1]),
                                         fe[var_num]))  # ineq type
            # make coefficient tableau
            row_list = []
            for ri in range(var_num):
                row_list.append(RowLine([0] * (var_num + for_num)))
            for i, fe in enumerate(formulas):
                tmp_f = [float(e) for e in fe[:var_num]]
                tmp_zeros = [0] * for_num
                tmp_zeros[i] = -1
                row_list.append(RowLine(tmp_f + tmp_zeros))
            # simplex tableau
            table = Tableau(var_list, row_list)
            # do simplex method
            table.simplex_method()