Exemplo n.º 1
0
        public IsrdtCrossJoinElement Create(
            IsIndexElement sIndexElement,
            IrIndexElement rIndexElement,
            IdIndexElement dIndexElement,
            ItIndexElement tIndexElement)
        {
            IsrdtCrossJoinElement crossJoinElement = null;

            try
            {
                crossJoinElement = new srdtCrossJoinElement(
                    sIndexElement,
                    rIndexElement,
                    dIndexElement,
                    tIndexElement);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(crossJoinElement);
        }
Exemplo n.º 2
0
 public IVarianceIResultElement Calculate(
     IVarianceIResultElementFactory varianceIResultElementFactory,
     ItIndexElement tIndexElement,
     IΛIndexElement ΛIndexElement,
     Il l,
     It t,
     Ist st,
     IVarianceΦ varianceΦ,
     Iz z)
 {
     return(varianceIResultElementFactory.Create(
                tIndexElement,
                ΛIndexElement,
                st.Value
                .Select(w =>
                        varianceΦ.GetElementAtAsdecimal(
                            w.sIndexElement,
                            l.GetElementAt(
                                tIndexElement.Key
                                -
                                w.tIndexElement.Key
                                +
                                (int)Math.Floor(
                                    (decimal)w.tIndexElement.Key
                                    /
                                    (tIndexElement.Key + 1))
                                *
                                t.GetT()),
                            ΛIndexElement)
                        *
                        z.GetElementAtAsint(
                            w.sIndexElement,
                            w.tIndexElement))
                .Sum()));
 }
Exemplo n.º 3
0
        public IConstraints4ConstraintElement Create(
            IrIndexElement rIndexElement,
            ItIndexElement tIndexElement,
            Iψ ψ,
            Iγ γ)
        {
            IConstraints4ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints4ConstraintElement(
                    rIndexElement,
                    tIndexElement,
                    ψ,
                    γ);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(constraintElement);
        }
        public Constraints8ConstraintElement(
            Id2IndexElement d2IndexElement,
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Id1 d1,
            It t,
            Ix x,
            IxHat xHat,
            Iα α)
        {
            Expression LHS = xHat.Value[
                sIndexElement,
                rIndexElement,
                t.GetElementAt(
                    tIndexElement.Key + d2IndexElement.Value.Value.Value)];

            Expression RHS = Expression.Sum(
                d1.Value
                .Select(
                    y => x.GetElementAtAsint(
                        sIndexElement,
                        rIndexElement,
                        t.GetElementAt(
                            tIndexElement.Key + y.Value.Value.Value))
                    *
                    α.Value[rIndexElement, y, d2IndexElement]));

            this.Value = LHS == RHS;
        }
Exemplo n.º 5
0
        public Iδ4ParameterElement Calculate(
            Iδ4ParameterElementFactory δ4ParameterElementFactory,
            IdIndexElement dIndexElement,
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            It t,
            IW W,
            Iγ γ,
            Iδ3 δ3)
        {
            Iδ4ParameterElement δ4ParameterElement = null;

            int γSum = 0;

            int δ3Asint = δ3.GetElementAtAsint(
                sIndexElement,
                rIndexElement,
                dIndexElement);

            if (δ3Asint == 0)
            {
                δ4ParameterElement = δ4ParameterElementFactory.Create(
                    sIndexElement,
                    rIndexElement,
                    dIndexElement,
                    tIndexElement,
                    1);
            }
            else
            {
                int δ4 = 1;

                do
                {
                    γSum = t.GetNthElementsAt(
                        dIndexElement.Value.Value.Value,
                        dIndexElement.Value.Value.Value + (δ4 - 1) * W.Value.Value.Value,
                        W.Value.Value.Value)
                           .Select(x => γ.GetElementAtAsint(
                                       rIndexElement,
                                       t.GetElementAt(x.Key)))
                           .Sum();

                    δ4 = δ4 + 1;
                } while (γSum < δ3Asint);

                if (γSum == δ3Asint)
                {
                    δ4ParameterElement = δ4ParameterElementFactory.Create(
                        sIndexElement,
                        rIndexElement,
                        dIndexElement,
                        tIndexElement,
                        δ4 - 1);     // Subtract 1 to account for last iteration of the do-while loop
                }
            }

            return(δ4ParameterElement);
        }
Exemplo n.º 6
0
        public Constraints5LConstraintElement(
            IdIndexElement dIndexElement,
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            It t,
            IW W,
            Iδ1 δ1,
            Iδ4 δ4,
            Ix x)
        {
            int LHS = δ1.GetElementAtAsint(
                sIndexElement,
                rIndexElement,
                dIndexElement);

            OPTANO.Modeling.Optimization.Expression RHS = OPTANO.Modeling.Optimization.Expression.Sum(
                t.GetNthElementsAt(
                    tIndexElement.Key,
                    tIndexElement.Key
                    +
                    (δ4.GetElementAtAsint(
                         sIndexElement,
                         rIndexElement,
                         dIndexElement,
                         tIndexElement)
                     - 1)
                    *
                    W.Value.Value.Value,
                    W.Value.Value.Value)
                .Select(
                    y => x.Value[sIndexElement, rIndexElement, y]));

            this.Value = LHS <= RHS;
        }
        public IConstraints2ConstraintElement Create(
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Ir r,
            Ix x,
            Iz z)
        {
            IConstraints2ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints2ConstraintElement(
                    sIndexElement,
                    tIndexElement,
                    r,
                    x,
                    z);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(constraintElement);
        }
        public IConstraints8UConstraintElement Create(
            IdIndexElement dIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Iu u,
            Iz z)
        {
            IConstraints8UConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints8UConstraintElement(
                    dIndexElement,
                    sIndexElement,
                    tIndexElement,
                    u,
                    z);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(constraintElement);
        }
        public IConstraints1ConstraintElement Create(
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Ir r,
            IxHat xHat,
            Iz z)
        {
            IConstraints1ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints1ConstraintElement(
                    sIndexElement,
                    tIndexElement,
                    r,
                    xHat,
                    z);
            }
            catch (Exception exception)
            {
                this.Log.Error("Exception message: " + exception.Message + " and stacktrace " + exception.StackTrace);
            }

            return(constraintElement);
        }
        public IConstraints5LConstraintElement Create(
            IdIndexElement dIndexElement,
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            It t,
            IW W,
            Iδ1 δ1,
            Iδ4 δ4,
            Ix x)
        {
            IConstraints5LConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints5LConstraintElement(
                    dIndexElement,
                    rIndexElement,
                    sIndexElement,
                    tIndexElement,
                    t,
                    W,
                    δ1,
                    δ4,
                    x);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(constraintElement);
        }
        public IxResultElement Create(
            IsIndexElement sIndexElement,
            IrIndexElement rIndexElement,
            ItIndexElement tIndexElement,
            bool value)
        {
            IxResultElement resultElement = null;

            try
            {
                resultElement = new xResultElement(
                    sIndexElement,
                    rIndexElement,
                    tIndexElement,
                    value);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(resultElement);
        }
Exemplo n.º 12
0
        public Constraints6ConstraintElement(
            ItIndexElement tIndexElement,
            IΛIndexElement ΛIndexElement,
            Il l,
            It t,
            Ist st,
            IΦHat ΦVHat,
            IIHat IHat,
            Iz z)
        {
            Expression LHS = IHat.Value[tIndexElement, ΛIndexElement];

            Expression RHS = Expression.Sum(
                st.Value
                .Select(
                    y =>
                    (double)ΦVHat.GetElementAtAsdecimal(
                        y.sIndexElement,
                        l.GetElementAt(
                            tIndexElement.Key
                            -
                            y.tIndexElement.Key
                            +
                            (int)Math.Floor(
                                (decimal)(y.tIndexElement.Key)
                                /
                                (tIndexElement.Key + 1))
                            *
                            t.GetT()),
                        ΛIndexElement)
                    *
                    z.Value[y.sIndexElement, y.tIndexElement]));

            this.Value = LHS == RHS;
        }
Exemplo n.º 13
0
        // y is a variable
        public IConstraints10ConstraintElement Create(
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Ix x,
            Iy y)
        {
            IConstraints10ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints10ConstraintElement(
                    rIndexElement,
                    sIndexElement,
                    tIndexElement,
                    x,
                    y);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(constraintElement);
        }
Exemplo n.º 14
0
        // y is a parameter
        public IConstraints10ConstraintElement Create(
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Interfaces.Parameters.SurgeonOperatingRoomAssignments.Iy y,
            Ix x)
        {
            IConstraints10ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints10ConstraintElement(
                    rIndexElement,
                    sIndexElement,
                    tIndexElement,
                    y,
                    x);
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(constraintElement);
        }
Exemplo n.º 15
0
        public IConstraints4ConstraintElement Create(
            ItIndexElement tIndexElement,
            IΛIndexElement ΛIndexElement,
            Il l,
            It t,
            Ist st,
            IΦHat ΦVHat,
            IIHat IHat,
            Iz z)
        {
            IConstraints4ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints4ConstraintElement(
                    tIndexElement,
                    ΛIndexElement,
                    l,
                    t,
                    st,
                    ΦVHat,
                    IHat,
                    z);
            }
            catch (Exception exception)
            {
                this.Log.Error("Exception message: " + exception.Message + " and stacktrace " + exception.StackTrace);
            }

            return(constraintElement);
        }
        public IConstraints9ConstraintElement Create(
            IrIndexElement rIndexElement,
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            Ix x,
            IxHat xHat)
        {
            IConstraints9ConstraintElement constraintElement = null;

            try
            {
                constraintElement = new Constraints9ConstraintElement(
                    rIndexElement,
                    sIndexElement,
                    tIndexElement,
                    x,
                    xHat);
            }
            catch (Exception exception)
            {
                this.Log.Error("Exception message: " + exception.Message + " and stacktrace " + exception.StackTrace);
            }

            return(constraintElement);
        }
Exemplo n.º 17
0
        public stCrossJoinElement(
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement)
        {
            this.sIndexElement = sIndexElement;

            this.tIndexElement = tIndexElement;
        }
Exemplo n.º 18
0
        public rtCrossJoinElement(
            IrIndexElement rIndexElement,
            ItIndexElement tIndexElement)
        {
            this.rIndexElement = rIndexElement;

            this.tIndexElement = tIndexElement;
        }
Exemplo n.º 19
0
 public int GetElementAtAsint(
     ItIndexElement tIndexElement)
 {
     return(this.Value
            .Where(x => x.tIndexElement == tIndexElement)
            .Select(x => x.Value.Value.Value ? 1 : 0)
            .SingleOrDefault());
 }
Exemplo n.º 20
0
        public dtCrossJoinElement(
            IdIndexElement dIndexElement,
            ItIndexElement tIndexElement)
        {
            this.dIndexElement = dIndexElement;

            this.tIndexElement = tIndexElement;
        }
Exemplo n.º 21
0
        public ψParameterElement(
            ItIndexElement tIndexElement,
            FhirBoolean value)
        {
            this.tIndexElement = tIndexElement;

            this.Value = value;
        }
Exemplo n.º 22
0
        public tΛCrossJoinElement(
            ItIndexElement tIndexElement,
            IΛIndexElement ΛIndexElement)
        {
            this.tIndexElement = tIndexElement;

            this.ΛIndexElement = ΛIndexElement;
        }
Exemplo n.º 23
0
 public decimal GetElementAtAsdecimal(
     ItIndexElement tIndexElement,
     IΛIndexElement ΛIndexElement)
 {
     return(this.Value
            .Where(x => x.tIndexElement == tIndexElement && x.ΛIndexElement == ΛIndexElement)
            .Select(x => x.Value)
            .SingleOrDefault());
 }
Exemplo n.º 24
0
 public int GetElementAtAsint(
     IsIndexElement sIndexElement,
     ItIndexElement tIndexElement)
 {
     return(this.GetElementAt(
                sIndexElement,
                tIndexElement)
         ? 1 : 0);
 }
        public IEBSResultElement Calculate(
            IEBSResultElementFactory EBSResultElementFactory,
            ItIndexElement tIndexElement,
            IΛIndexElement ΛIndexElement,
            IΩ Ω,
            IExpectedValueI ExpectedValueI,
            IVarianceI VarianceI)
        {
            int Ω_tΛ = Ω.Value.Value.Value;

            double ExpectedValueI_tΛ = (double)ExpectedValueI.GetElementAtAsdecimal(
                tIndexElement,
                ΛIndexElement);

            double VarianceI_tΛ = (double)VarianceI.GetElementAtAsdecimal(
                tIndexElement,
                ΛIndexElement);

            double lowerBound = Ω_tΛ + 0.5;

            double upperBound = double.PositiveInfinity;

            double value =
                0.5
                *
                (Ω_tΛ - ExpectedValueI_tΛ)
                *
                (MathNet.Numerics.SpecialFunctions.Erf(
                     (lowerBound - ExpectedValueI_tΛ)
                     *
                     Math.Pow(Math.Sqrt(2 * VarianceI_tΛ), -1))
                 -
                 MathNet.Numerics.SpecialFunctions.Erf(
                     (upperBound - ExpectedValueI_tΛ)
                     *
                     Math.Pow(Math.Sqrt(2 * VarianceI_tΛ), -1)))
                +
                Math.Sqrt(VarianceI_tΛ)
                *
                Math.Pow(Math.Sqrt(2 * Math.PI), -1)
                *
                (Math.Exp(
                     -Math.Pow(lowerBound - ExpectedValueI_tΛ, 2)
                     *
                     Math.Pow(2 * VarianceI_tΛ, -1))
                 -
                 Math.Exp(
                     -Math.Pow(upperBound - ExpectedValueI_tΛ, 2)
                     *
                     Math.Pow(2 * VarianceI_tΛ, -1)));

            return(EBSResultElementFactory.Create(
                       tIndexElement,
                       ΛIndexElement,
                       (decimal)value));
        }
Exemplo n.º 26
0
 public int GetElementAtAsint(
     IsIndexElement sIndexElement,
     IrIndexElement rIndexElement,
     ItIndexElement tIndexElement)
 {
     return(this.Value
            .Where(y => y.sIndexElement == sIndexElement && y.rIndexElement == rIndexElement && y.tIndexElement == tIndexElement)
            .Select(y => y.Value.Value.Value ? 1 : 0)
            .SingleOrDefault());
 }
Exemplo n.º 27
0
        public VarianceIResultElement(
            ItIndexElement tIndexElement,
            IΛIndexElement ΛIndexElement,
            decimal value)
        {
            this.tIndexElement = tIndexElement;

            this.ΛIndexElement = ΛIndexElement;

            this.Value = value;
        }
        public ExpectedValueIResultElement(
            ItIndexElement tIndexElement,
            IΛIndexElement ΛIndexElement,
            decimal value)
        {
            this.tIndexElement = tIndexElement;

            this.ΛIndexElement = ΛIndexElement;

            this.Value = value;
        }
Exemplo n.º 29
0
        public zResultElement(
            IsIndexElement sIndexElement,
            ItIndexElement tIndexElement,
            bool value)
        {
            this.sIndexElement = sIndexElement;

            this.tIndexElement = tIndexElement;

            this.Value = value;
        }
Exemplo n.º 30
0
        public γParameterElement(
            IrIndexElement rIndexElement,
            ItIndexElement tIndexElement,
            FhirBoolean value)
        {
            this.rIndexElement = rIndexElement;

            this.tIndexElement = tIndexElement;

            this.Value = value;
        }