Beispiel #1
0
def test():

    for config in configs:

        aircraft = OnDemandAircraft()
        aircraft = aircraft.standard_substitutions(
            config=config, autonomousEnabled=generic_data["autonomousEnabled"])

        sizing_mission = OnDemandSizingMission(aircraft=aircraft)
        sizing_mission = sizing_mission.standard_substitutions(
            piloted=generic_data["isSizingMissionPiloted"],
            reserve=generic_data["reserve"])

        revenue_mission = OnDemandRevenueMission(aircraft=aircraft)
        revenue_mission = revenue_mission.standard_substitutions(
            piloted=generic_data["isRevenueMissionPiloted"])

        deadhead_mission = OnDemandDeadheadMission(aircraft=aircraft)
        deadhead_mission = deadhead_mission.standard_substitutions(
            piloted=generic_data["isDeadheadMissionPiloted"])

        mission_cost = OnDemandMissionCost(aircraft=aircraft,
                                           revenue_mission=revenue_mission,
                                           deadhead_mission=deadhead_mission)
        mission_cost = mission_cost.standard_substitutions(
            isRevenueMissionPiloted=generic_data["isRevenueMissionPiloted"],
            isDeadheadMissionPiloted=generic_data["isDeadheadMissionPiloted"])

        objective_function = mission_cost.cpt
        problem = Model(objective_function, [
            aircraft, sizing_mission, revenue_mission, deadhead_mission,
            mission_cost
        ])
        solution = problem.solve(verbosity=0)
Beispiel #2
0
		mission_range = np.linspace(15, 110, num_pts) * ureg.nautical_mile

	c                 = configs[config]
	c["SPL_sizing_A"] = np.zeros(np.size(mission_range))

	aircraft = OnDemandAircraft()
	aircraft = aircraft.standard_substitutions(config=config, autonomousEnabled=generic_data["autonomousEnabled"])

	sizing_mission = OnDemandSizingMission(aircraft=aircraft)
	sizing_mission = sizing_mission.standard_substitutions(piloted=generic_data["isSizingMissionPiloted"], reserve=generic_data["reserve"])

	sizing_mission.substitutions.update({
		sizing_mission.cruise_segment.d_segment: ("sweep", mission_range.to(ureg.km).magnitude),  # Careful with units here
	})

	revenue_mission = OnDemandRevenueMission(aircraft=aircraft)
	revenue_mission = revenue_mission.standard_substitutions(piloted=generic_data["isRevenueMissionPiloted"])

	deadhead_mission = OnDemandDeadheadMission(aircraft=aircraft)
	deadhead_mission = deadhead_mission.standard_substitutions(piloted=generic_data["isDeadheadMissionPiloted"])

	mission_cost = OnDemandMissionCost(aircraft=aircraft, revenue_mission=revenue_mission, deadhead_mission=deadhead_mission)
	mission_cost = mission_cost.standard_substitutions(isRevenueMissionPiloted=generic_data["isRevenueMissionPiloted"], isDeadheadMissionPiloted=generic_data["isDeadheadMissionPiloted"])

	# All missions have the same range. Needed or else we can't sweep.
	range_constraints =  [sizing_mission.cruise_segment.d_segment == revenue_mission.cruise_segment.d_segment]
	range_constraints += [sizing_mission.cruise_segment.d_segment == deadhead_mission.cruise_segment.d_segment]

	objective_function = mission_cost.cpt
	problem            = Model(objective_function, [aircraft, sizing_mission, revenue_mission, deadhead_mission, mission_cost, range_constraints])
Beispiel #3
0
    # from noise_models import rotational_noise, vortex_noise, noise_weighting

    #String inputs
    # reserve_type="FAA_heli"
    # sizing_mission_type="piloted"

    aircraft = OnDemandAircraft()
    aircraft = aircraft.standard_substitutions(config="Compound heli",
                                               autonomousEnabled=True)

    sizing_mission = OnDemandSizingMission(aircraft=aircraft)
    sizing_mission = sizing_mission.standard_substitutions(
        piloted=True, reserve="20-minute loiter")

    revenue_mission = OnDemandRevenueMission(aircraft=aircraft)
    revenue_mission = revenue_mission.standard_substitutions(piloted=True)

    deadhead_mission = OnDemandDeadheadMission(aircraft=aircraft)
    deadhead_mission = deadhead_mission.standard_substitutions(piloted=False)

    mission_cost = OnDemandMissionCost(aircraft=aircraft,
                                       revenue_mission=revenue_mission,
                                       deadhead_mission=deadhead_mission)
    mission_cost = mission_cost.standard_substitutions(
        isRevenueMissionPiloted=True, isDeadheadMissionPiloted=False)

    objective_function = mission_cost.cpt
    problem = Model(objective_function, [
        aircraft, sizing_mission, revenue_mission, deadhead_mission,
        mission_cost