def mutate_with_removal(solution):

    """Try to mutate the passed solution in-place by removing an item"""

    # removal is only possible if there are items placed in the container
    if solution.placed_items:

        # select an item randomly
        item_index = solution.get_random_placed_item_index()

        # remove the item
        return solution.remove_item(item_index)

    return False