def create_dynamic_ordering_constraint(index: int) -> str:
    '\n    Creates a valid AMPL constraint of the form:\n    [LaTex]: $start\\_time_j+1 >= start\\_time_j + duration_j$, $\x0corall j \\in BATCH$\n    :param index: j index where the current constraint should start\n    :return: single AMPL JIT constraint as a string\n    '
    i = str(index)
    i_next = str((index + 1))
    constraint_name = f'ordering_{i_next}_{i}'
    return f's.t. {constraint_name}: start_time[{i_next}] >= start_time[{i}] + duration[{i}];'
Creates a valid AMPL constraint of the form:
[LaTex]: $start\_time_j+1 >= start\_time_j + duration_j$, $orall j \in BATCH$
:param index: j index where the current constraint should start
:return: single AMPL JIT constraint as a string
def create_dynamic_ordering_constraint(index: int) -> str:
    '\n    Creates a valid AMPL constraint of the form:\n    [LaTex]: $start\\_time_j+1 >= start\\_time_j + duration_j$, $\x0corall j \\in BATCH$\n    :param index: j index where the current constraint should start\n    :return: single AMPL JIT constraint as a string\n    '
    i = str(index)
    i_next = str((index + 1))
    constraint_name = f'ordering_{i_next}_{i}'
    return f's.t. {constraint_name}: start_time[{i_next}] >= start_time[{i}] + duration[{i}];'