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); }
// v is a parameter and y is a variable public IConstraints1ConstraintElement Create( ImIndexElement mIndexElement, IrIndexElement rIndexElement, Im m, Is s, Interfaces.Parameters.MachineOperatingRoomAssignments.Iv v, Iζ ζ, Interfaces.Variables.Iy y) { IConstraints1ConstraintElement constraintElement = null; try { constraintElement = new Constraints1ConstraintElement( mIndexElement, rIndexElement, m, s, v, ζ, y); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
// v and y are both variables public IConstraints1ConstraintElement Create( ImIndexElement mIndexElement, IrIndexElement rIndexElement, Im m, Is s, Iζ ζ, Iv v, Iy y) { IConstraints1ConstraintElement constraintElement = null; try { constraintElement = new Constraints1ConstraintElement( mIndexElement, rIndexElement, m, s, ζ, v, y); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
public IConstraints15ConstraintElement Create( IaIndexElement aIndexElement, IrIndexElement rIndexElement, Isk sk, ILength Length, IORday ORday, ITPz z) { IConstraints15ConstraintElement constraintElement = null; try { constraintElement = new Constraints15ConstraintElement( aIndexElement, rIndexElement, sk, Length, ORday, z); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
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 IConstraints6ConstraintElement Create( IrIndexElement rIndexElement, IsIndexElement sIndexElement, Id d, Ib b, Iβ β) { IConstraints6ConstraintElement constraintElement = null; try { constraintElement = new Constraints6ConstraintElement( rIndexElement, sIndexElement, d, b, β); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
// Constructor: v is a variable and y is a parameter (1x0) public Constraints1ConstraintElement( ImIndexElement mIndexElement, IrIndexElement rIndexElement, Im m, Is s, Interfaces.Parameters.SurgeonOperatingRoomAssignments.Iy y, Iζ ζ, Interfaces.Variables.Iv v) { int LHS = s.Value .Select( x => y.GetElementAtAsint( x, rIndexElement) * ζ.GetElementAtAsint( x, mIndexElement)) .Sum(); Expression RHS = m.GetM() * v.Value[mIndexElement, rIndexElement]; this.Value = LHS <= RHS; }
public IsarkCrossJoinElement Create( IsIndexElement sIndexElement, IaIndexElement aIndexElement, IrIndexElement rIndexElement, IkIndexElement kIndexElement) { IsarkCrossJoinElement crossJoinElement = null; try { crossJoinElement = new sarkCrossJoinElement( sIndexElement, aIndexElement, rIndexElement, kIndexElement); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(crossJoinElement); }
public Iδ1ParameterElement Create( IsIndexElement sIndexElement, IrIndexElement rIndexElement, IdIndexElement dIndexElement, int value) { Iδ1ParameterElement parameterElement = null; try { parameterElement = new δ1ParameterElement( sIndexElement, rIndexElement, dIndexElement, value); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(parameterElement); }
// w is a parameter and y is a variable public IConstraints5UConstraintElement Create( IjIndexElement jIndexElement, IrIndexElement rIndexElement, IsIndexElement sIndexElement, Interfaces.Parameters.SurgicalSpecialtyNumberAssignedTimeBlocks.IB BBar, Interfaces.Parameters.SurgeonNumberAssignedTimeBlocks.IB Bs, Interfaces.Parameters.SurgicalSpecialtyOperatingRoomAssignments.Iw w, Interfaces.Variables.Iy y) { IConstraints5UConstraintElement constraintElement = null; try { constraintElement = new Constraints5UConstraintElement( jIndexElement, rIndexElement, sIndexElement, BBar, Bs, w, y); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
public ITPzResultElement Create( IsIndexElement sIndexElement, IaIndexElement aIndexElement, IrIndexElement rIndexElement, IkIndexElement kIndexElement, bool value) { ITPzResultElement resultElement = null; try { resultElement = new TPzResultElement( sIndexElement, aIndexElement, rIndexElement, kIndexElement, value); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(resultElement); }
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); }
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); }
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); }
// Constructor: v is a parameter and y is a variable (0x1) public Constraints1ConstraintElement( ImIndexElement mIndexElement, IrIndexElement rIndexElement, Im m, Is s, Interfaces.Parameters.MachineOperatingRoomAssignments.Iv v, Iζ ζ, Interfaces.Variables.Iy y) { Expression LHS = Expression.Sum( s.Value .Select( x => y.Value[x, rIndexElement] * ζ.GetElementAtAsint( x, mIndexElement))); int RHS = m.GetM() * v.GetElementAtAsint( mIndexElement, rIndexElement); this.Value = LHS <= RHS; }
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; }
public IConstraints1ConstraintElement Create( IdIndexElement dIndexElement, IrIndexElement rIndexElement, IsIndexElement sIndexElement, It t, IW W, Iβ β, Ix x) { IConstraints1ConstraintElement constraintElement = null; try { constraintElement = new Constraints1ConstraintElement( dIndexElement, rIndexElement, sIndexElement, t, W, β, x); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
public IβResultElement Create( IsIndexElement sIndexElement, IrIndexElement rIndexElement, IdIndexElement dIndexElement, int value) { IβResultElement resultElement = null; try { resultElement = new βResultElement( sIndexElement, rIndexElement, dIndexElement, value); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(resultElement); }
// 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); }
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 IConstraints3ConstraintElement Create( IrIndexElement rIndexElement, Is s, It t, Ib b, Iγ γ) { IConstraints3ConstraintElement constraintElement = null; try { constraintElement = new Constraints3ConstraintElement( rIndexElement, s, t, b, γ); } catch (Exception exception) { this.Log.Error( exception.Message, exception); } return(constraintElement); }
// 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); }
public Iδ3ParameterElement Calculate( Iδ3ParameterElementFactory δ3ParameterElementFactory, IdIndexElement dIndexElement, IrIndexElement rIndexElement, IsIndexElement sIndexElement, It t, IW W, Iβ β, Iγ γ) { int value = 0; int γSum = t.GetNthElementsAt( dIndexElement.Value.Value.Value, t.GetT() - W.Value.Value.Value + dIndexElement.Value.Value.Value, W.Value.Value.Value) .Select( y => γ.GetElementAtAsint( rIndexElement, y)) .Sum(); int βAsint = β.GetElementAtAsint( sIndexElement, rIndexElement, dIndexElement); if (βAsint > 0) { // Case (i) if ((γSum % βAsint) == 0) { value = γSum / βAsint; } else if ((γSum % βAsint) != 0) { // Case (ii) if (βAsint < (γSum / 2)) { value = (int)Math.Floor( (decimal)(γSum / βAsint)); } // Case (iii) else if ((βAsint > (γSum / 2)) && (βAsint < γSum)) { value = (int)Math.Floor( (decimal)(γSum / (γSum - βAsint))); } } } return(δ3ParameterElementFactory.Create( sIndexElement, rIndexElement, dIndexElement, value)); }
public arCrossJoinElement( IaIndexElement aIndexElement, IrIndexElement rIndexElement) { this.aIndexElement = aIndexElement; this.rIndexElement = rIndexElement; }
public rkCrossJoinElement( IrIndexElement rIndexElement, IkIndexElement kIndexElement) { this.rIndexElement = rIndexElement; this.kIndexElement = kIndexElement; }
public mrCrossJoinElement( ImIndexElement mIndexElement, IrIndexElement rIndexElement) { this.mIndexElement = mIndexElement; this.rIndexElement = rIndexElement; }
public jrCrossJoinElement( IjIndexElement jIndexElement, IrIndexElement rIndexElement) { this.jIndexElement = jIndexElement; this.rIndexElement = rIndexElement; }
public rtCrossJoinElement( IrIndexElement rIndexElement, ItIndexElement tIndexElement) { this.rIndexElement = rIndexElement; this.tIndexElement = tIndexElement; }
public srCrossJoinElement( IsIndexElement sIndexElement, IrIndexElement rIndexElement) { this.sIndexElement = sIndexElement; this.rIndexElement = rIndexElement; }
public rd1CrossJoinElement( IrIndexElement rIndexElement, Id1IndexElement d1IndexElement) { this.rIndexElement = rIndexElement; this.d1IndexElement = d1IndexElement; }