美文网首页
动态最优解

动态最优解

作者: 园Flora | 来源:发表于2020-07-06 17:15 被阅读0次

function __Class:myTest(num)

    local cost = {5,21,10,8}

    self:botton_up_cut(cost,91)

end

function __Class:botton_up_cut(p,n )

    local count = 0

    local r={}

    table.sort(p,function ( a,b )

        return a>b

    end)

    dump(p)

    local item = {}

    for j=0,n do

        item[j]={}

        for i,v in ipairs(p) do

            item[j][v] = 0

        end

    end

    r[0] = 0;

    local q;

    for j=1,n do

        q= r[j-1]>0 and r[j-1] or 9999999

        item[j] = r[j-1]>0 and clone(item[j-1]) or item[j]

        local tmpw =0

        for k,w in ipairs(p) do

            for i=1,j do

                local t1 = q-j

                local t2 = w+r[j-i]-j

                count = count+1

                if t1 <0 and t2 >=0 then

                    q = w+r[j-i]

                    item[j] = clone(item[j-i])

                    item[j][w]= item[j][w]+1

                    if q-j <=0 then

                        break

                    end

                end

                if t1>=0 and t2 >=0 then

                    q = t1<=t2 and q or w+r[j-i]

                    if t1>t2 then

                        item[j] = clone(item[j-i])

                        item[j][w]= item[j][w]+1

                    end

                    if q-j <=0 then

                        break

                    end

                end

            end

            if q-j <=0 then

                break

            end

        end

        r[j] = q;

        print("n==="..j.."  r====="..r[j].."      circle count:"..count)

        dump(item[j])

    end

    -- print("n==="..n.."  r====="..r[n].."      circle count:"..count)

    --  dump(item[n])

    return q

end

相关文章

  • 动态规划:最长公共子序列

    动态规划 步骤 描述最优解的结构 递归定义最优解的值 按自底向上的方式计算最优解的值 //此3步构成动态规划解...

  • 动态最优解

    function __Class:myTest(num) local cost = {5,21,10,8} ...

  • 动态规划

    与贪心算法求局部最优解相比,动态规划求的是全局最优解(但不是每个问题都有最优解,比如NP完全问题就没有最优解) 例...

  • 动态规划算法详解

    动态规划的介绍 动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问...

  • 动态规划 - 钢条切割

    动态规划 动态规划方法通常用来求解最优化问题,这类问题可以有很多可行解,每个解都有值,我们希望寻找具有最优值(最小...

  • 背包问题

    介绍 学习动态规划算法的经典例题。动态规划算法一般有3个特征1、最优化原理:最优解所包含的子问题的解也是最优的。2...

  • 动态规划解决最长回文子串问题

    先复习一下动态规划的三个特征: 最优子结构:就是问题的最优解包含子问题的最优解,也就是可以通过子问题的最优解,推导...

  • 数学基础课之动态规划

    动态规划就是把复杂问题分解成简单的问题,然后在可能的简单的问题中找到最优局部解,这个找到最优解的过程是动态规划 动...

  • 最长递增子序列

    通常有4个步骤来设计动态规划算法: 1.刻画一个最优解的结构特征。 2.递归地定义最优解的值。 3.计算最优解的值...

  • 动态规划与背包问题

    动态规划算法核心思想:1.刻画问题的最优解的结构特征2.递归定义最优解的值3.自底向上的方式计算最优解的值4.构造...

网友评论

      本文标题:动态最优解

      本文链接:https://www.haomeiwen.com/subject/syxuxktx.html