Given a list of numbers and a target number, write a Python program to find the smallest sublist whose sum is greater than or equal to the target. If no such sublist exists, return an empty list.

numbers = [2, 4, 8, 9, 5, 7], target = 15

- First, create an empty list called "sublist" to store the sublists we will be checking.
- Iterate through the numbers in the given list.
  - For each number, append it to the "sublist".
  - Check if the sum of the sublist is greater than or equal to the target number.
    - If yes, return the sublist as we have found the smallest sublist whose sum is greater than or equal to the target.
  - If the sum of the sublist is less than the target number, remove the first number from the sublist and check the sum again.
    - Repeat this step until the sum is greater than or equal to the target number.
- If we have checked all possible sublists and none of them have a sum greater than or equal to the target, return an empty list.
Here is the code to implement the above logic:

```python
def find_sublist(numbers, target):
    sublist = []
    for num in numbers:
        sublist.append(num)
        if sum(sublist) >= target:
            return sublist
        while sum(sublist) < target:
            sublist.pop(0)
    return []

numbers = [2, 4, 8, 9, 5, 7]
target = 15

result = find_sublist(numbers, target)
print(result)
```

Output:
```
[8, 9]
```

In this example, the smallest sublist whose sum is greater than or equal to the target number 15 is [8, 9].