Пример #1
0
 public IVHat Calculate(
     INormalFactory normalFactory,
     IVHatResultElementFactory VHatResultElementFactory,
     IVHatFactory VHatFactory,
     IRNBCalculation RNBCalculation,
     ItStarCalculation tStarCalculation,
     IVHatResultElementCalculation VHatResultElementCalculation,
     It t,
     IΛ Λ,
     IExpectedValueI expectedValueI,
     IVarianceI varianceI,
     Iυ2 υ2)
 {
     return(VHatFactory.Create(
                Λ.Value
                .Select(i => VHatResultElementCalculation.Calculate(
                            normalFactory,
                            VHatResultElementFactory,
                            RNBCalculation,
                            tStarCalculation,
                            i,
                            t,
                            expectedValueI,
                            varianceI,
                            υ2))
                .ToImmutableList()));
 }
Пример #2
0
 public Iυ2 Calculate(
     INormalFactory normalFactory,
     Iυ2ResultElementFactory υ2ResultElementFactory,
     Iυ2Factory υ2Factory,
     IMRNBCalculation MRNBCalculation,
     IRNBCalculation RNBCalculation,
     Iυ2ResultElementCalculation υ2ResultElementCalculation,
     It t,
     IΛ Λ,
     IΩ Ω,
     IExpectedValueI expectedValueI,
     IVarianceI varianceI)
 {
     return(υ2Factory.Create(
                Λ.Value
                .Select(i => υ2ResultElementCalculation.Calculate(
                            normalFactory,
                            υ2ResultElementFactory,
                            MRNBCalculation,
                            RNBCalculation,
                            i,
                            t,
                            Ω,
                            expectedValueI,
                            varianceI))
                .ToImmutableList()));
 }
Пример #3
0
        public IObjectiveFunction Create(
            IObjectiveFactory objectiveFactory,
            It t,
            IΛ Λ,
            IΡ Ρ,
            IIHat IHat)
        {
            IObjectiveFunction objectiveFunction = null;

            try
            {
                objectiveFunction = new ObjectiveFunction(
                    objectiveFactory,
                    t,
                    Λ,
                    Ρ,
                    IHat);
            }
            catch (Exception exception)
            {
                this.Log.Error("Exception message: " + exception.Message + " and stacktrace " + exception.StackTrace);
            }

            return(objectiveFunction);
        }
 public IScenarioNumberPatients Calculate(
     IScenarioNumberPatientsResultElementFactory scenarioNumberPatientsResultElementFactory,
     IScenarioNumberPatientsFactory scenarioNumberPatientsFactory,
     IScenarioNumberPatientsResultElementCalculation scenarioNumberPatientsResultElementCalculation,
     IΛ Λ,
     ISurgeonScenarioNumberPatients surgeonScenarioNumberPatients)
 {
     return(scenarioNumberPatientsFactory.Create(
                Λ.Value
                .Select(i => scenarioNumberPatientsResultElementCalculation.Calculate(
                            scenarioNumberPatientsResultElementFactory,
                            i,
                            surgeonScenarioNumberPatients))
                .ToImmutableList()));
 }
Пример #5
0
 public ITEBS Calculate(
     ITEBSResultElementFactory TEBSResultElementFactory,
     ITEBSFactory TEBSFactory,
     ITEBSResultElementCalculation TEBSResultElementCalculation,
     It t,
     IΛ Λ,
     IEBS EBS)
 {
     return(TEBSFactory.Create(
                Λ.Value
                .Select(w => TEBSResultElementCalculation.Calculate(
                            TEBSResultElementFactory,
                            w,
                            t,
                            EBS))
                .ToImmutableList()));
 }
Пример #6
0
 public IScenarioUnutilizedTimes Calculate(
     IScenarioUnutilizedTimesResultElementFactory scenarioUnutilizedTimesResultElementFactory,
     IScenarioUnutilizedTimesFactory scenarioUnutilizedTimesFactory,
     IScenarioUnutilizedTimesResultElementCalculation scenarioUnutilizedTimesResultElementCalculation,
     IΛ Λ,
     IScenarioTotalTimes scenarioTotalTimes,
     IScenarioUtilizedTimes scenarioUtilizedTimes)
 {
     return(scenarioUnutilizedTimesFactory.Create(
                Λ.Value
                .Select(w => scenarioUnutilizedTimesResultElementCalculation.Calculate(
                            scenarioUnutilizedTimesResultElementFactory,
                            w,
                            scenarioTotalTimes,
                            scenarioUtilizedTimes))
                .ToImmutableList()));
 }
Пример #7
0
 public Interfaces.Results.TotalExpectedBedShortage.ITEBS Calculate(
     ITEBSFactory TEBSFactory,
     IΛ Λ,
     IΡ Ρ,
     Interfaces.Results.ScenarioTotalExpectedBedShortages.ITEBS TEBS)
 {
     return(TEBSFactory.Create(
                Λ.Value
                .Select(w =>
                        Ρ.GetElementAtAsdecimal(
                            w)
                        *
                        TEBS.GetElementAtAsdecimal(
                            w))
                .ToImmutableList()
                .Sum()));
 }
Пример #8
0
        public IΛ Create(
            ImmutableList <IΛIndexElement> value)
        {
            IΛ index = null;

            try
            {
                index = new Λ(
                    value);
            }
            catch (Exception exception)
            {
                this.Log.Error("Exception message: " + exception.Message + " and stacktrace " + exception.StackTrace);
            }

            return(index);
        }
Пример #9
0
        public IΛ Create(
            ImmutableList <IΛIndexElement> value)
        {
            IΛ index = null;

            try
            {
                index = new Λ(
                    value);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(index);
        }
 public IScenarioTotalTimes Calculate(
     IScenarioTotalTimesResultElementFactory scenarioTotalTimesResultElementFactory,
     IScenarioTotalTimesFactory scenarioTotalTimesFactory,
     IScenarioTotalTimesResultElementCalculation scenarioTotalTimesResultElementCalculation,
     IΛ Λ,
     Isrt srt,
     IH H,
     Ix x)
 {
     return(scenarioTotalTimesFactory.Create(
                Λ.Value
                .Select(w => scenarioTotalTimesResultElementCalculation.Calculate(
                            scenarioTotalTimesResultElementFactory,
                            w,
                            srt,
                            H,
                            x))
                .ToImmutableList()));
 }
 public IScenarioUtilizedTimes Calculate(
     IScenarioUtilizedTimesResultElementFactory scenarioUtilizedTimesResultElementFactory,
     IScenarioUtilizedTimesFactory scenarioUtilizedTimesFactory,
     IScenarioUtilizedTimesResultElementCalculation scenarioUtilizedTimesResultElementCalculation,
     IΛ Λ,
     Isrt srt,
     Ih h,
     In n,
     IxHat xHat)
 {
     return(scenarioUtilizedTimesFactory.Create(
                Λ.Value
                .Select(w => scenarioUtilizedTimesResultElementCalculation.Calculate(
                            scenarioUtilizedTimesResultElementFactory,
                            w,
                            srt,
                            h,
                            n,
                            xHat))
                .ToImmutableList()));
 }
Пример #12
0
        public ObjectiveFunction(
            IObjectiveFactory objectiveFactory,
            It t,
            IΛ Λ,
            IΡ Ρ,
            IIHat IHat)
        {
            Expression expression = Expression.Sum(
                Λ.Value
                .Select(
                    x => (double)Ρ.GetElementAtAsdecimal(
                        x)
                    *
                    Expression.Maximum(
                        t.Value
                        .Select(y => (Expression)IHat.Value[y, x]))));

            Objective objective = objectiveFactory.Create(
                expression,
                ObjectiveSense.Minimize);

            this.Value = objective;
        }
Пример #13
0
        public IΦHat Calculate(
            IExpectedValueIResultElementCalculationFactory expectedValueIResultElementCalculationFactory,
            IExpectedValueΦResultElementCalculationFactory expectedValueΦResultElementCalculationFactory,
            IVarianceIResultElementCalculationFactory varianceIResultElementCalculationFactory,
            IVarianceΦResultElementCalculationFactory varianceΦResultElementCalculationFactory,
            IVHatResultElementCalculationFactory VHatResultElementCalculationFactory,
            Iυ2ResultElementCalculationFactory υ2ResultElementCalculationFactory,
            IΦHatResultElementCalculationFactory ΦHatResultElementCalculationFactory,
            IExpectedValueICalculationFactory expectedValueICalculationFactory,
            IExpectedValueΦCalculationFactory expectedValueΦCalculationFactory,
            IMRNBCalculationFactory MRNBCalculationFactory,
            IRNBCalculationFactory RNBCalculationFactory,
            ItStarCalculationFactory tStarCalculationFactory,
            IVarianceICalculationFactory varianceICalculationFactory,
            IVarianceΦCalculationFactory varianceΦCalculationFactory,
            IVHatCalculationFactory VHatCalculationFactory,
            Iυ2CalculationFactory υ2CalculationFactory,
            INormalFactory normalFactory,
            IExpectedValueIResultElementFactory expectedValueIResultElementFactory,
            IExpectedValueΦResultElementFactory expectedValueΦResultElementFactory,
            IVarianceIResultElementFactory varianceIResultElementFactory,
            IVarianceΦResultElementFactory varianceΦResultElementFactory,
            IVHatResultElementFactory VHatResultElementFactory,
            Iυ2ResultElementFactory υ2ResultElementFactory,
            IΦHatResultElementFactory ΦHatResultElementFactory,
            IExpectedValueIFactory expectedValueIFactory,
            IExpectedValueΦFactory expectedValueΦFactory,
            IVarianceIFactory varianceIFactory,
            IVarianceΦFactory varianceΦFactory,
            IVHatFactory VHatFactory,
            Iυ2Factory υ2Factory,
            IΦHatFactory ΦHatFactory,
            Il l,
            It t,
            IΛ Λ,
            IslΛ slΛ,
            Ist st,
            ItΛ tΛ,
            IL L,
            Ip p,
            Iμ μ,
            Iσ σ,
            IΩ Ω,
            Iz z)
        {
            // ExpectedValueΦ
            IExpectedValueΦ expectedValueΦ = expectedValueΦCalculationFactory.Create()
                                             .Calculate(
                expectedValueΦResultElementFactory,
                expectedValueΦFactory,
                expectedValueΦResultElementCalculationFactory.Create(),
                l,
                t,
                slΛ,
                L,
                p,
                μ);

            // VarianceΦ
            IVarianceΦ varianceΦ = varianceΦCalculationFactory.Create()
                                   .Calculate(
                varianceΦResultElementFactory,
                varianceΦFactory,
                varianceΦResultElementCalculationFactory.Create(),
                l,
                t,
                slΛ,
                L,
                p,
                μ,
                σ);

            // ExpectedValueI
            IExpectedValueI expectedValueI = expectedValueICalculationFactory.Create()
                                             .Calculate(
                expectedValueIResultElementFactory,
                expectedValueIFactory,
                expectedValueIResultElementCalculationFactory.Create(),
                l,
                t,
                st,
                tΛ,
                expectedValueΦ,
                z);

            // VarianceI
            IVarianceI varianceI = varianceICalculationFactory.Create()
                                   .Calculate(
                varianceIResultElementFactory,
                varianceIFactory,
                varianceIResultElementCalculationFactory.Create(),
                l,
                t,
                st,
                tΛ,
                varianceΦ,
                z);

            // υ2
            Iυ2 υ2 = υ2CalculationFactory.Create()
                     .Calculate(
                normalFactory,
                υ2ResultElementFactory,
                υ2Factory,
                MRNBCalculationFactory.Create(),
                RNBCalculationFactory.Create(),
                υ2ResultElementCalculationFactory.Create(),
                t,
                Λ,
                Ω,
                expectedValueI,
                varianceI);

            // VHat
            IVHat VHat = VHatCalculationFactory.Create()
                         .Calculate(
                normalFactory,
                VHatResultElementFactory,
                VHatFactory,
                RNBCalculationFactory.Create(),
                tStarCalculationFactory.Create(),
                VHatResultElementCalculationFactory.Create(),
                t,
                Λ,
                expectedValueI,
                varianceI,
                υ2);

            return(this.Calculate(
                       normalFactory,
                       ΦHatResultElementFactory,
                       ΦHatFactory,
                       ΦHatResultElementCalculationFactory.Create(),
                       slΛ,
                       expectedValueΦ,
                       varianceΦ,
                       VHat,
                       υ2));
        }