小编v78*_*v78的帖子

在使用依赖项调度单元任务时最大化利润

问题我有几个工作要在P秒内安排在无限数量的工作机器上具有相关性的机器,即.对于每个工作,都有一组作业,只有在完成这项工作后才能安排.用于调度第i利润 j中工作第二任何机器上为f(I,J),它是正的.
我的目标是通过在最多P秒内完成一次调度每个作业来最大化总利润.

我们可以假设所有作业都可以在P秒内安排.

一切都是提前知道的,即离线问题.

0 <= f(i,j)<= B.对于所有我,j.

并且依赖数是O(n).

这个问题容易吗?[可能是由于有限的约束]

我的方法
为简单起见,首先假设对于一份工作来说,它的利润与时间无关.
即f(i,j)对于所有i而言与j无关,并且仅依赖于i.
然后任何适合P秒的拓扑排序都可以.
如果没有依赖关系,那么我们也为每个工作选择最高的利润给予时间,这也很容易.

但问题是,当工作的利润随着时间的推移随着依赖性而变化时,在这种情况下,我无法想到任何通用算法.

我在处理作业之间的依赖关系时遇到问题,在线调度算法的依赖单元任务是否有任何资源?

请分享任何有助于...的想法

更新:我已添加各种参数的边界,因为它们可能是分析问题所必需的.

c++ algorithm optimization maximize job-scheduling

13
推荐指数
1
解决办法
983
查看次数

Wiremock 模拟代理服务器运行

我想为以下 e2e 场景添加一个测试:

我的应用程序通过内部代理服务器向外部服务发出 Web 请求,代理服务器操作请求正文,将请求转发到目标主机并返回返回的响应。

举例来说,我对external.service/an/endpoint(通过my-proxy-server)正文做了一个发布请求

{
"card_number": "<proxy server pls fill the cc details>"
}
Run Code Online (Sandbox Code Playgroud)

代理服务器修改请求填写cc详细信息并转发给external.service/an/endpointwith body

{
"card_number": "372735466563005"
}
Run Code Online (Sandbox Code Playgroud)

external.service 返回状态 OK。代理服务器不加修改地返回响应。

如何使用wiremock 测试此工作流程?我可以WireMock.stubFor()external.service,但我不知道如何使有线模拟代理与我的 Web 客户端的代理设置一起工作。查看测试,实际上,Rest Template 测试restTemplateWithWireMockAsProxyServer按预期工作,通过代理路由我的请求,但webClientWithWireMockAsProxyServer我的 RCA 出现错误:

20:06:59.165 [qtp105751207-24] DEBUG wiremock.org.eclipse.jetty.server.HttpChannel - REQUEST for //localhost:58978localhost:58978 on HttpChannelOverHttp@4a71ab50{r=1,c=false,c=false/false,a=IDLE,uri=//localhost:58978localhost:58978,age=0}
CONNECT //localhost:58978localhost:58978 HTTP/1.1
Host: localhost:58978
Run Code Online (Sandbox Code Playgroud)

正如这里提到的,这些通过 wiremock 代理的调用是不可能的。但是我所有的网址都像http://localhost:<port>,这意味着我没有进行任何 https 调用。

package com.spotnana.obt.supplier.services;

import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration; …
Run Code Online (Sandbox Code Playgroud)

java proxy webservice-client spring-boot wiremock

8
推荐指数
1
解决办法
840
查看次数

访问协议缓冲扩展字段

我正在使用C++中的协议缓冲区.我的邮件只有一个扩展名范围.我想只使用他们的号码访问所有扩展字段而不知道他们的名字.我怎样才能做到这一点??

message Base {
    optional int32 id = 1;
    extensions 1000 to 1999;     
}

extend Base{
    optional int32 id2 = 1000;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经获得了ExtensionRange.

const google::protobuf::Descriptor::ExtensionRange* rng = desc->extension_range(0);
std::cerr << "rng " << rng->start << " " << rng->end << std::endl;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获得Fielddescriptor*扩展.

有一个奇怪的事情,就是extension_count()返回0.虽然我在.proto文件中使用了扩展名.类似地,FindExtensionBy [Name/number]没有按预期工作?

c++ inheritance protocol-buffers c++11

6
推荐指数
1
解决办法
665
查看次数

Zuul 通过外部代理服务器路由请求

我们目前的项目需求是将一些请求路由到第三方外部api服务器。为此,我们使用基于 spring zuul 的路由器服务。

zuul:
  routes
    test:
      path: /test/**
      serviceId: test
      url: http://my.api.server.com
    test2:
      path: /test2/**
      serviceId: test2
      url: http://my.api.server.com // but through an external proxy
Run Code Online (Sandbox Code Playgroud)

现在的要求是,对于某些端点,对​​外部 api 服务器的请求已经通过一些外部代理服务器路由,而不是我们拥有的,

如何通过 curl 做到这一点是:

curl <external_api_server>/api/v1/user -k \
  -x tntqyhnhjym.sandbox.verygoodproxy.com:8080 \
  -H "Content-type: application/json" \
  -d '{"card_number": "tok_sandbox_t8VSoovCuHA779eJGZhKvg", ... }'

Run Code Online (Sandbox Code Playgroud)

-x <proxy>通过给定的代理重定向请求。如何通过 spring-zuul 服务器做到这一点?

有一个线索,我得到了吗?https://github.com/spring-cloud/spring-cloud-netflix/issues/2320。不干净,在这个意义上,我需要延长SimpleHostRoutingFilterzuul

proxy spring-boot netflix-zuul

6
推荐指数
1
解决办法
468
查看次数

在多台机器上利润下降的高效调度工作

问题:考虑M台机器上n个作业的调度问题,其中每个作业具有处理时间p i,并且如果在时间t完成则给出利润g i(t).所有作业都在时间0释放.所有g i(t)都是非递增函数.为简单起见,我们可以假设机器不是先发制人的.

对于M = 1并且线性递减利润函数.使用贪婪算法可以在O(n)中解决这个问题.但对于一般功能,它是NP完全的.

我对一般情况感兴趣.请给我任何关于问题的论文或资源材料的链接.我在互联网上搜索但没有找到任何有趣的M> 1,尽管之前有关于近似M = 1边界的工作.

请注意,我不希望你解决这个问题,但只需要解决类似问题的先前工作,如果有的话.如果您有任何想法可以提供帮助,请随时分享.

我想知道m机器和n个具有相同发布日期和一般非增加利润函数的作业对此问题的界限.我找到了一份指向这个方向的文章

http://arxiv.org/pdf/1008.4889v1.pdf

当所有作业具有相同的释放时间时,它们给出O(1)近似值.我想找到类似的问题文献以及他们用来解决问题的想法.

algorithm np-complete maximize approximate job-scheduling

5
推荐指数
1
解决办法
283
查看次数

更快的编辑距离算法

问题:我知道琐碎的编辑距离DP公式和O(mn)中的2个大小为n和m的字符串的计算.但我最近才知道,如果我们只需要计算编辑距离f的最小值并且它是有界| f | <= s,那么我们可以用O(min(m,n)+ s ^ 2)计算它或者O(s*min(m,n))[维基百科]时间.

如果这是基于DP或解释算法,请解释它背后的dp配方.

请查看链接improved algorithm部分 : http ://en.wikipedia.org/wiki/Edit_distance.

关于改进的UKKONEN'S算法的另一个链接http://www.berghel.net/publications/asm/asm.php

提前致谢.

c++ algorithm optimization edit-distance dynamic-programming

4
推荐指数
1
解决办法
1987
查看次数

webflux Mono 响应为空

我的项目中有一个非常简单的 spring webflux 休息端点。

@Bean
public RouterFunction authRoute() {
    return RouterFunctions.route(POST("/auth/signin").and(accept(APPLICATION_JSON)), this::signIn)
            .andRoute(POST("/auth/signup").and(accept(APPLICATION_JSON)), this::signUp)
            .andRoute(POST("/auth/test").and(accept(APPLICATION_JSON)), this::test);
}
Run Code Online (Sandbox Code Playgroud)

端点/auth/test只需回复提供的用户名即可。

public Mono<ServerResponse> test(ServerRequest request) {
    System.out.println("Start test ");
    Mono<JwtRequest> jwtRequestMono = request.bodyToMono(JwtRequest.class);
    jwtRequestMono.subscribe(v -> System.out.println(v.getUsername() + ":" + v.getPassword()));
    return jwtRequestMono
            .flatMap(j -> ServerResponse.ok().contentType(APPLICATION_JSON).bodyValue(j.getUsername()));
}
Run Code Online (Sandbox Code Playgroud)

终端

我面临的问题是响应正文为空,它应该是用户名。我还验证了当我返回硬编码字符串时,它会通过。当我依赖时它失败了jwtRequestMono.flatMap(...

![邮差

mono reactive-programming spring-boot spring-webflux

2
推荐指数
1
解决办法
3958
查看次数

在更大的图中最大二分匹配的有效技巧

问题:我们给出了两个数组A和B的整数.现在,在每个步骤中,我们可以从两个数组中删除任何2个非共同素数整数.我们必须找到这些步骤可以删除的最大对数.

界限: A的长度,B <= 10 5
每个整数<= 10 9
Dinic的算法 - O(V 2 E)
Edmonds-karp算法 - O(VE 2)
Hopcroft-Karp算法 - O(E sqrt(V))

到目前为止我的方法:这可以被建模为具有两个集合A和B的二分匹配问题,并且可以在来自相应集合的每个非共同素数对之间创建边缘.
但问题是图中可能存在O(V 2)边,并且对于如此大的图,大多数二分匹配和最大流算法将是超慢的.

我正在寻找一些特定的问题或数学优化,可以在合理的时间内解决问题.为了通过测试用例,我需要最多O(V log V)或O(V sqrt(V))算法.

提前致谢.

c++ algorithm optimization matching network-flow

1
推荐指数
1
解决办法
825
查看次数

YouTube Data API v3:无需打开浏览器即可从服务器上传视频

我每天尝试从我的服务器上传视频到我的帐户,但浏览器无法访问。我可以在我的桌面上执行此操作,通过运行下面提到的脚本打开浏览器,请求我的权限并完成上传视频所需的完整授权,然后上传视频。

python upload_video.py --file clips/concatenated.mp4 --title testing --desc empty_dec

/Users/devansh.dalal/Desktop/hackathon/tiktoki/venv/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access upload_video.py-oauth2.json: No such file or directory
  warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?client_id=73183172161-48495o1tqgjgih3v7j218av2bghdcm30.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.upload&access_type=offline&response_type=code

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

  --noauth_local_webserver

Authentication successful.
Uploading file...
Run Code Online (Sandbox Code Playgroud)

但我想要一个不需要手动授权脚本的解决方案,因为我的服务器是完全安全的。请提出建议?

oauth-2.0 youtube-data-api google-cloud-platform video-upload

1
推荐指数
1
解决办法
2533
查看次数

QDateTime:自动添加当前年份

我需要QDateTime从格式中获取一个对象"hh:mm:ss".哪个年,月,日应该从当前日期开始?

除了预先yyyy-mm-dd输入字符串之外,是否有人建议任何更清洁的解决方案.

c++ user-interface qt datetime

0
推荐指数
1
解决办法
706
查看次数