选煤厂生产管理平台后台代码
编辑 | blame | 历史 | 原始文档

配煤模型

        // 硫分 +1.8密度级没有 则与上一密度级保持一致。
        int[] input = {1,2};  //有N种煤参与,则为{1,N}  //20230926 coalblendmodel
        MWCellArray inputCompDataSrc1 = new MWCellArray(input);

        double[][] inputFSDataSrc1 = {//第一种煤的浮沉数据 综合数据
                {1.4 ,39.46,6.52,1.83},
                {1.8 ,20.67,27.16,1.71},
                {1.8 ,39.87,79.9,1.71}};
        double[][] inputFSDataSrc2 = {  //第二种煤的浮沉数据
                {1.4 ,77.42,3.33,2.44},
                {1.8 ,8.76,18.28,4},
                {1.8 ,13.82,76.4,4}};
        double[][] rawCoalParam = {{759},{1667}};//各个煤的价格 N种煤则为N行

        double[][] qualitySetDataSrc1 = {{0},{2} };  //目标硫分

        double[] cleanCoalAsh1AndPrice = {9,1900} ;  //精煤灰分及价格
        inputCompDataSrc1.set(1,inputFSDataSrc1);
        inputCompDataSrc1.set(2,inputFSDataSrc2);


        CoalBlendModel coalBlend = new CoalBlendModel();

        double[] xSet = {};  //编辑后计算,即用户手动设置的配煤量数据  若保存并计算则为空
        Object[] allResult = coalBlend.coalBlend(2,inputCompDataSrc1,rawCoalParam,qualitySetDataSrc1,cleanCoalAsh1AndPrice,xSet);
        MWCellArray result = (MWCellArray)allResult[0];


        double[][] result1 = (double [][])result.get(1);//各煤比例
        if (result1[0][0]<0){
            System.out.println("无方案");  //无方案输出全部置空

            return;
        }
        double[][] result2 = (double [][])result.get(2);
        double[] theoryYieldDensity = result2[0];//理论产率和分选密度 第一个为理论产率,第二个为理论分选密度

        MWCellArray temp = (MWCellArray)allResult[1];


        double[][] test1 = (double [][])temp.get(1);
        double[] effect = test1[0];//混煤预计效果 分别为硫分,水分,发热量,灰分

        double [][] test2 = (double [][])temp.get(2);
        double[] xAxis1 = test2[0];//若需要绘制混煤可选性曲线 的下横灰分坐标
        double [][] test3 = (double [][])temp.get(3);
        double[] xAxis2 = test3[0];//若需要绘制混煤可选性曲线 的上横密度坐标
        double [][] test4 = (double [][])temp.get(4);
        double[] floatVue = test4[0];//若需要绘制混煤可选性曲线 的浮物曲线数据
        double [][] test5 = (double [][])temp.get(5);
        double[] cellVue = test5[0];//若需要绘制混煤可选性曲线 的灰分特性曲线数据
        double [][] test6 = (double [][])temp.get(6);
        double[] sinkVue = test6[0];//若需要绘制混煤可选性曲线 的沉物曲线数据
        double [][] test7 = (double [][])temp.get(7);
        double[] denstiyDataResult = test7[0];//若需要绘制混煤可选性曲线 的密度曲线数据
        double [][] test8 = (double [][])temp.get(8);
        double[] denstiyScopeData = test8[0];//若需要绘制混煤可选性曲线 的密度±0.1曲