Exemple #1
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);
        }
Exemple #2
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);
        }
Exemple #3
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;
        }
Exemple #4
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()));
 }
        public IΡ Create(
            ImmutableList <IΡParameterElement> value)
        {
            IΡ parameter = null;

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

            return(parameter);
        }
        public IΡ Create(
            ImmutableList <IΡParameterElement> value)
        {
            IΡ parameter = null;

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

            return(parameter);
        }
        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;
        }