Esempio n. 1
0
        public IObjectiveFunction110 Create(
            IObjectiveFactory objectiveFactory,
            IsΛ sΛ,
            IΡ Ρ,
            Iω ω,
            Ie1Minus e1Minus,
            Ie1Plus e1Plus)
        {
            IObjectiveFunction110 objectiveFunction = null;

            try
            {
                objectiveFunction = new ObjectiveFunction110(
                    objectiveFactory,
                    sΛ,
                    Ρ,
                    ω,
                    e1Minus,
                    e1Plus);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(objectiveFunction);
        }
Esempio n. 2
0
        public ObjectiveFunction111(
            IObjectiveFactory objectiveFactory,
            IsΛ sΛ,
            IΡ Ρ,
            Iω ω,
            Ie1Minus e1Minus,
            Ie1Plus e1Plus)
        {
            Expression expression = Expression.Sum(
                sΛ.Value
                .Select(
                    x => (double)Ρ.GetElementAtAsdecimal(
                        x.ΛIndexElement)
                    *
                    (double)ω.GetElementAtAsdecimal(
                        x.sIndexElement)
                    *
                    (e1Minus.Value[x.sIndexElement, x.ΛIndexElement]
                     +
                     e1Plus.Value[x.sIndexElement, x.ΛIndexElement])
                    *
                    (e1Minus.Value[x.sIndexElement, x.ΛIndexElement]
                     +
                     e1Plus.Value[x.sIndexElement, x.ΛIndexElement])));

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

            this.Value = objective;
        }
Esempio n. 3
0
        public IsΛ Create(
            ImmutableList <IsΛCrossJoinElement> value)
        {
            IsΛ crossJoin = null;

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

            return(crossJoin);
        }
Esempio n. 4
0
        public IsΛ Create(
            ImmutableList <IsΛCrossJoinElement> value)
        {
            IsΛ crossJoin = null;

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

            return(crossJoin);
        }
 public ISurgeonScenarioNumberPatients Calculate(
     ISurgeonScenarioNumberPatientsResultElementFactory surgeonScenarioNumberPatientsResultElementFactory,
     ISurgeonScenarioNumberPatientsFactory surgeonScenarioNumberPatientsFactory,
     ISurgeonScenarioNumberPatientsResultElementCalculation surgeonScenarioNumberPatientsResultElementCalculation,
     Irt rt,
     IsΛ sΛ,
     In n,
     Ix x)
 {
     return(surgeonScenarioNumberPatientsFactory.Create(
                sΛ.Value
                .Select(w => surgeonScenarioNumberPatientsResultElementCalculation.Calculate(
                            surgeonScenarioNumberPatientsResultElementFactory,
                            w.sIndexElement,
                            w.ΛIndexElement,
                            rt,
                            n,
                            x))
                .ToImmutableList()));
 }