README.md

    operational research

    介绍

    这是一个关于运筹学的计算程序,目前支持单纯形表以及对偶单纯形表

    软件架构

    这并非是一个全自动的计算程序,因此您必须对编程有一定的了解。您也不必过于担心,您只需调用几个计算函数,修改几个参数即可完成一个复杂的单纯形表的计算

    安装教程

    需安装JDK-16

    使用说明

    • 读取单纯形表

    不支持注释,请不要输入额外的内容

    min 3 3
    1 2 3
    -2 1 1 le 9
    -3 1 2 ge 4
    4 -2 -3 eq -6
    le ge no

    lt:<, le:<=, eq:=, le:>=, lt:>

    • 读取矩阵

    不支持注释,请不要输入额外的内容

    3 3
    7 -3 -3
    -1 1 0
    -1 0 1
    • 计算单纯形表

    当结果为无界解 / 不可解时,会自动抛出相关异常 不可解:UNS,无界解:UNB

    public class Main
    {
    	public static void main(String[] args)
    	{
    		Table table = InteractUtils.loadTable("0.txt");
    		Result result = table.result();
    		System.out.println("解的类型是:" + result.type());
    		if (result.type() == Type.INF || result.type() == Type.UNI)    // 若为无穷多最优解 / 唯一最优解
    			System.out.println("解的结果是:" + result.ans());
    	}
    }
    • 计算对偶形表

    当结果为无界解 / 不可解时,会自动抛出相关异常

    public class Main
    {
    	public static void main(String[] args)
    	{
    		Table table = InteractUtils.loadTable("0.txt");
    		Result result = table.dual().result();
    		System.out.println("解的类型是:" + result.type());
    		if (result.type() == Type.INF || result.type() == Type.UNI)    // 若为无穷多最优解 / 唯一最优解
    			System.out.println("解的结果是:" + result.ans());
    	}
    }
    • 矩阵相关计算

    当矩阵不可计算秩 / 行列式时,会自动抛出异常

    public class Main
    {
    	public static void main(String[] args)
    	{
    		Matrix matrix = InteractUtils.loadMatrix("1-1.txt");
    		matrix.invert();        //    矩阵的秩
    		matrix.determinant();    //    矩阵的行列式
    		matrix.transposition();    //    矩阵的转置
    	}
    }

    参与贡献

    PC

    项目简介

    单纯形表-矩阵的秩

    发行版本

    当前项目没有发行版本

    贡献者 2

    章北海-五 @m0_52340624

    开发语言

    • Java 99.8 %
    • Nix 0.2 %