Java 如何使用优化算法进行决策

Java 如何使用优化算法进行决策,java,android,cloud,Java,Android,Cloud,我正在开发一个android应用程序,它可以扫描android设备的容量(CPU、内存、电池)以及网络状态和数据,以做出决策(是否将计算卸载到云端)。 为了进行卸载,您必须确保所有信息(CPU、电池等)都不足。例如: 如果(电池容量100 mb等),则 进行卸载;//在边缘或云服务器中运行该方法 其他的 当地执行 到目前为止,我获得了有关设备和网络的所有信息,但我不知道如何做出决定。我认为优化算法可以帮助我,但我不知道如何在java中实现这些算法。 帮我做一个适当的决定。如果你已经有了一套你提到

我正在开发一个android应用程序,它可以扫描android设备的容量(CPU、内存、电池)以及网络状态和数据,以做出决策(是否将计算卸载到云端)。 为了进行卸载,您必须确保所有信息(CPU、电池等)都不足。例如: 如果(电池容量<10%,当前ram>100 mb等),则 进行卸载;//在边缘或云服务器中运行该方法 其他的 当地执行

到目前为止,我获得了有关设备和网络的所有信息,但我不知道如何做出决定。我认为优化算法可以帮助我,但我不知道如何在java中实现这些算法。
帮我做一个适当的决定。

如果你已经有了一套你提到的规则/算法,即如果(电池容量<10%,当前ram>100 mb等等),那么进行卸载。例如,将其写入Java应用程序非常简单

    if((remaining_battery_perc<10)&&(average_ram_usage_mb>100)){

    //Start a new thread to offload the data

    }

    else{

    // local execution
    }

    //wait for the threads to finish their job
    // display the result
if((剩余电池电量为100)){
//启动一个新线程以卸载数据
}
否则{
//本地执行
}
//等待线程完成其工作
//显示结果
所以,只要有一个服务器正在等待您的请求,它将处理数据并将结果发送回您,它就会工作。但是,您必须记住,根据需要传输的带宽和数据量,反复卸载也会消耗大量能量


如果您没有卸载算法,这是一个尚未解决的问题,解决它们的一种方法是将它们建模为,并将其求解以获得决策规则

您是否运行过测试以查看您可能看到的硬限制类型?我不能用少于x的内存进行计算?此计算将花费x时间,可能是电池电量过低?网络瘫痪了,也许我不能把计算发送到云端?