Example #1
0
def _setup_interface_slacks(m, block, tm):
    # declare the interface slack variables
    # they have a sparse index set
    libbranch.declare_var_pfi_slack_pos(model=block,
                                        index_set=m.InterfacesWithSlack,
                                        domain=NonNegativeReals,
                                        dense=False)
    libbranch.declare_var_pfi_slack_neg(model=block,
                                        index_set=m.InterfacesWithSlack,
                                        domain=NonNegativeReals,
                                        dense=False)
Example #2
0
def _setup_interface_slacks(m,block,tm):
    ### declare the interface slack variables
    libbranch.declare_var_pfi_slack_pos(model=block,
                                        index_set=m.InterfacesWithSlack,
                                        bounds=(0, None),
                                        )
    libbranch.declare_var_pfi_slack_neg(model=block,
                                        index_set=m.InterfacesWithSlack,
                                        bounds=(0, None),
                                        )

    ### add the interface slack cost to the main model
    m.InterfaceViolationCost[tm] = \
            sum(m.TimePeriodLengthHours*m.InterfaceLimitPenalty[i]*( \
                 block.pfi_slack_pos[i] + block.pfi_slack_neg[i] )
                for i in m.InterfacesWithSlack)