Example #1
0
        public SimplePiecewise(LinearVariable source)
        {
            if (source == null) return;

            XName = source.XName;
            YName = source.YName;

            Entries = new double[source.Entries.Count][];
            for (int i = 0; i < Entries.Length; i++)
            {
                Entries[i] = new double[]
                {
                    source.Entries[i].X,
                    source.Entries[i].Y
                };
            }
        }
Example #2
0
        public SimplePiecewise(LinearVariable source)
        {
            if (source == null)
            {
                return;
            }

            XName = source.XName;
            YName = source.YName;

            Entries = new double[source.Entries.Count][];
            for (int i = 0; i < Entries.Length; i++)
            {
                Entries[i] = new double[]
                {
                    source.Entries[i].X,
                    source.Entries[i].Y
                };
            }
        }
Example #3
0
        public void ApplyTo(LinearVariable linV)
        {
            linV.XName = XName ?? linV.XName;
            linV.YName = YName ?? linV.YName;

            if (Entries != null)
            {
                while (linV.Entries.Count > Entries.Length)
                    linV.Entries.RemoveAt(Entries.Length);

                while(Entries.Length>linV.Entries.Count)
                    linV.Entries.Add(new LinearFunctionVariableEntry());

                for (int i = 0; i < Entries.Length; i++)
                {
                    linV.Entries[i].X = Entries[i][0];
                    linV.Entries[i].Y = Entries[i][1];
                }
            }
        }
Example #4
0
        public void ApplyTo(LinearVariable linV)
        {
            linV.XName = XName ?? linV.XName;
            linV.YName = YName ?? linV.YName;

            if (Entries != null)
            {
                while (linV.Entries.Count > Entries.Length)
                {
                    linV.Entries.RemoveAt(Entries.Length);
                }

                while (Entries.Length > linV.Entries.Count)
                {
                    linV.Entries.Add(new LinearFunctionVariableEntry());
                }

                for (int i = 0; i < Entries.Length; i++)
                {
                    linV.Entries[i].X = Entries[i][0];
                    linV.Entries[i].Y = Entries[i][1];
                }
            }
        }
Example #5
0
        public void UpdatePiecewise(SimplePiecewise newPiecewise)
        {
            LinearVariable linV = (LinearVariable)Variable;

            newPiecewise.ApplyTo(linV);
        }