**Apache Airflow version**: 2.0.0


**Kubernetes version (if you are using kubernetes)** (use `kubectl version`): N/A

**Environment**: 

- **Cloud provider or hardware configuration**: local/aws
- **OS** (e.g. from /etc/os-release): Ubuntu 18.04.5 LTS
- **Kernel** (e.g. `uname -a`): 5.4.0-1032-aws
- **Install tools**: pip
- **Others**:

**What happened**:
I did a fresh Airflow 2.0.0 install. With this version, when I manually trigger a DAG, Airflow skips the next scheduled run.
<!-- (please include exact error messages if you can) -->

**What you expected to happen**:
Manual runs do not interfere with the scheduled runs prior to Airflow 2. 
<!-- What do you think went wrong? -->

**How to reproduce it**:
Create a simple hourly DAG. After enabling it and the initial run, run it manually. It shall skip the next hour. Below is an example, where the manual run with execution time of 08:17 causes the scheduled run with execution time of 08:00 to skip. 
![image](https://user-images.githubusercontent.com/26160471/103457719-c7193480-4d12-11eb-82cb-42efaedc9ef4.png)


airflow/models/dag.py
"""
        Sorts tasks in topographical order, such that a task comes after any of its
        upstream dependencies.
        Heavily inspired by:
        http://blog.jupo.org/2012/04/06/topological-sorting-acyclic-directed-graphs/
        :param include_subdag_tasks: whether to include tasks in subdags, default to False
        :return: list of tasks in topological order
        """
        from airflow.operators.subdag import SubDagOperator  
        
        graph_unsorted = OrderedDict((task.task_id, task) for task in self.tasks)
        graph_sorted = []  
        
        if len(self.tasks) == 0:
            return tuple(graph_sorted)
        
        while graph_unsorted:
            
            
            
            
            
            
            
            
            
            
            
            
            acyclic = False